Preloader image
DDD

자바

AJP - Apache2(WEB) + tomcat(WAS) 동적페이지 연동

작성자 관리자 (admin)
조회수 1,170
입력일 2021-11-12 14:39:58

WEB : apache server
WAS : tomcat

1. WEB/WAS/DB 서버가 물리적으로 분리되었을때 적용하는 방법.

아래 4가지 설치가 완료 되었을때
추가로 설정 및 연동 방법

1) Apache2 설치 (PORT 80) - LOCAL 에서 테스트하는 일반적인 경우 WEB(80), WAS(8080) 으로 - WEB/WAS/DB PORT는 임의로 설정 가능.
2) Apache-tomcat 설치 (PORT 8080) - LOCAL 에서 테스트하는 일반적인 경우 WEB(80), WAS(8080) 으로 - WEB/WAS/DB PORT는 임의로 설정 가능.
3) DB 설치
4) tomcat에 동적페이지 작동중이라는 가정하에....

2. 구조 예시

┼─apache-maven-3.6.3
├─apache-tomcat-9.0.41
│  └─conf─server.xml
├─eclipse
├─httpd-2.4.51-win64-VS16
│  └─Apache24
│      └─conf
│          ├─httpd.conf
│          ├─mod_jk.conf
│          ├─uriworkermap.properties
│          └─workers.properties
├─jdk1.8.0_161
├─maven_repo
└─workspace

3. WEB/WAS/DB 연동

1. Apache2 - WEB 서버 설정

1) mod_jk.so 함수 다운로드 및 lib에 복사
2) httpd.conf 추가 - LoadModule jk_module modules/mod_jk.so
3) httpd.conf 추가 -

<IfModule jk_module>
    Include conf/mod_jk.conf
</IfModule>

4) mod_jk.conf 생성 및 추가

# mod_jk conf

<IfModule mod_jk.c>
  JkWorkersFile conf/workers.properties
  JkLogFile logs/mod_jk.log
  JkLogLevel info
  JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
  JkMountFile conf/uriworkermap.properties
</IfModule>

5) workers.properties 생성 및 추가

# workers.properties
worker.list=worker1
worker.worker1.type=ajp13

# 아래 IP가 물리적으로 분리 되어 있는 서버 IP (여기서는 1개의 물리적 서버 예시이므로 로컬IP를 ㅠㅛ현했을뿐임.)
worker.worker1.host=127.0.0.1
worker.worker1.port=8080
worker.worker1.lbfactor=1

6) uriworkermap.properties 생성 및 추가

/*=worker1
/*.jsp=worker1
!/=worker1

2. apache-tomcat 설정 - WAS 설정

1) conf/server.xml

    <!-- <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/> 제외 -->
    <Connector port="8080" protocol="AJP/1.3" redirectPort="8443" secretRequired="false"/> <!-- 추가 -->
    
    <!-- A "Connector" using the shared thread pool-->

    <!-- 추가 -->
    <Connector executor="tomcatThreadPool"
               port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

      <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log" suffix=".txt"/>
          <Context docBase="Digital2uCommunity" path="/" reloadable="true" source="org.eclipse.jst.jee.server:Digital2uCommunity"/>
      </Host>

3. WEB + WAS 연동

1) Apache2/htdocs/index.html 수정

<html>
    <body>
        <meta http-equiv="refresh" content="0; url=/main">
    </body>
</html>

2) Apache2 시작

3) 이클립스의 해당 프로젝트(Digital2uCommunity) 시작

4) 웹브라우저 http://127.0.0.1

5) 리다이렉트 페이지 이동 http://127.0.0.1/main (동적 페이지를 출력하기 위함)

 

 

 

 

^