개요
apache의 mod_jk와 WildFly의 ajp를 이용하여 연동
다운로드
JDK : java.oracle.com
WildFly : wildfly.org
apache : www.apache.org
tomcat connector : https://tomcat.apache.org/download-connectors.cgi
참조
WildFly 설치 : https://fliedcat.tistory.com/7?category=724321
1. apache 설치
shell> tar zxvf httpd-2.4.41.tar.gz
shell> cd httpd-2.4.41
shell> ./configure --prefix=/usr/local/httpd --enable-so
shell> make
shell> make install
* --enable-so
mod_so가 제공하는 DSO 기능을 사용한다. --enable-mods-shared 옵션을 사용하면 자동으로 이 모듈을 포함한다.
* --prefix=PREFIX
아키텍쳐에 독립적인 파일을 PREFIX에 설치한다. 기본값은 /usr/local/apache2이다.
2. tomcat connector jk 설치
shell> tar zxvf tomcat-connectors-1.2.46-src.tar.gz
shell> cd tomcat-connectors-1.2.46-src/native/
shell> ./configure --with-apxs=/usr/local/httpd/bin/apxs
shell> make
shell> make install
* 설치가 정상 완료되면 apache 설치디렉토리 하위에 위치한 modules 디렉토리에 mod_jk.so 파일이 생성됨
3.아파치 환경 설정
3.1 httpd.conf 파일에 mod_jk 설정 추가
LoadModule jk_module modules/mod_jk.so Include conf/extra/mod_jk.conf |
3.2 conf/extra/mod_jk.conf 파일 생성
<IfModule mod_jk.c> # Where to find workers.properties JkWorkersFile conf/workers.properties # Where to put jk shared memory JkShmFile logs/mod_jk.shm # Where to put jk logs JkLogFile logs/mod_jk.log # Set the jk log level [debug/error/info] JkLogLevel info # Select the timestamp log format JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " ## url pattern 에 따른 connector mapping JkMountFile conf/uriworkermap.properties </IfModule> |
3.3 conf/workers.properties 파일 생성(연동할 톰캣리스트 작성)
worker.list=worker1 worker.worker1.port=8009 worker.worker1.host=192.168.0.120 worker.worker1.type=ajp13 |
3.4 conf/uriworkermap.properties(톰캣에서 처리할 uri 작성)
/myapp/*=worker1 |
** myapp URL으로 오는 모든 요청에 대해서는 worker1이라고 지정한 WildFly에서 처리하겠다라는 내용
4. 아파치 시작
shell> /usr/local/httpd/bin/apachectl start
5. WildFly ajp 활성화
5.1 Standalone 모드
방법 1) CLI를 이용한 ajp 활성화 ( 서비스 재시작 필요 없음)
shell> jboss_cli.sh --connect --controller=192.168.0.120:9990
[standalone@192.168.0.120:9990 /] /subsystem=undertow/server=default-server/ajp-listener=ajp:add(socket-binding=ajp)
방법 2) standalone.xml 수정 ( 수정후 서비스 재시작)
: 471 라인 <ajp-listener name="ajp" socket-binding="ajp" /> 추가
5.2 Domain 모드
Domain 모드에서는 full 프로파일(profile)은 기본적으로 ajp가 비활성화 되어 있다.(ha, full-ha만 활성화 되어 있음)
full 프로파일에 ajp 활성화
shell> jboss_cli.sh --connect --controller=192.168.0.120:9990
[domain@192.168.0.120:9990 /] /profile=full/subsystem=undertow/server=default-server/ajp-listener=ajp:add(socket-binding=ajp)
6. 어플리케이션 배포(Application Deployment)
6.1 Deployment
예) /exploded/myapp 디렉토리에 있는 웹어플리케이션을 myapp 이라는 Context Path를 가지는 myapp 생성
- Name : 고유이름
- Runtime Name : ContextRoot.war 형태로 지정(ContextRoot 이름은 uriworkermap.properties에 설정한 uri와 동일하게 설정), 단 WEB-INF/jboss.xml 에 context-root가 정의되어 있을 경우 context-root가 우선 적용됨
- Path : exploded 디렉토리 또는 Archive(war) 파일이 존재하는 실제 경로
'WEB & WAS > WildFly' 카테고리의 다른 글
[WildFly] web Context 배제(exclude) (0) | 2019.09.03 |
---|---|
[WildFly] apache wildfly 연동(mod_cluster) (0) | 2019.09.02 |
[WildFly] 어플리케이션 배포 (0) | 2019.08.30 |
[WildFly] 설치 - domain 모드 (0) | 2019.08.29 |
[WildFly] 설치 - standalone 모드 (0) | 2019.08.29 |