Wildfly 설치 후 Apache 연동까지 진행
환경
- apxs(apache extension) 설치
# yum install -y httpd-devel
# which apxs
/usr/bin/apx
- tomcat-connector 설치
$ wget http://mirror.navercorp.com/apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz
$ tar xvzpf tomcat-connectors-1.2.48-src.tar.gz
$ cd tomcat-connectors-1.2.48-src/native/
$ ./configure --with-apxs=/usr/bin/apxs
$ make
$ make install
configure: error: in `/usr/local/src/tomcat-connectors-1.2.48-src/native':
configure: error: C compiler cannot create execut
아래 패키지 설치 진행
# yum install gcc gcc-c++
- apache config에 mod_jk 모듈에 대한 정보 입력 및 연동
# vi /etc/httpd/conf/httpd.conf <<
아래 내용 기입
conf/mod-jk.conf라는 설정 파일을 따로 두어 관리를 용이하게 함
# mod_jk Connector
LoadModule jk_module modules/mod_jk.so
Include conf/mod-jk.conf
# vi /etc/httpd/conf/mod-jk.conf <<
아래 내용 기입(아파치가 사용할 mod_jk 모듈 위치가 mod_jk.so, 로그를 남길 위치, 형식 등)
<IfModule jk_module>
# Where to find workers.properties
JkWorkersFile conf/workers.properties
# the location of jk shared memory
JkShmFile run/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 log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkMountFile conf/uriworkermap.properties
</IfModule>
# vi /etc/httpd/conf/workers.properties
아래 내용 기입
worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=WAS IP
worker.worker1.port=8009
# vi /etc/httpd/conf/uriworkermap.properties
아래 내용 기입(아파치로 요청 오는 URI를 worker랑 매핑)
# Mount the Servlet context to the worker1 worker
/jmx-console=worker1
/jmx-console/*=worker1
/web-console=worker1
/web-console/*=worker1
# all url turn to ajp
/*=worker1
#vi /opt/wildfly/standalone/configuration/standalone.xml
<subsystem xmlns="urn:jboss:domain:undertow:14.0" default-virtual-host="default-host" default-servlet-container="default" default-server="default-server" statistics-enabled="${wildfly.undertow.statistics-enabled:${wildfly.statistics-enabled:false}}" default-security-domain="other">
<byte-buffer-pool name="default"/>
<buffer-cache name="default"/>
<server name="default-server">
<ajp-listener name="ajp" socket-binding="ajp"/> << 추가
<http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true"/>
<https-listener name="https" socket-binding="https" ssl-context="applicationSSC" enable-http2="true"/>
<host name="default-host" alias="localhost">
<location name="/" handler="welcome-content"/>
<http-invoker http-authentication-factory="application-http-authentication"/>
</host>
</server>
<servlet-container name="default">
<jsp-config/>
<websockets/>
</servlet-container>
<handlers>
<file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
</handlers>
<application-security-domains>
<application-security-domain name="other" security-domain="ApplicationDomain"/>
</application-security-domains>
</subsystem>
---------중간 생략-----------
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
<socket-binding name="ajp" port="${jboss.ajp.port:8009}"/> << 추가
<socket-binding name="http" port="${jboss.http.port:8080}"/>
<socket-binding name="https" port="${jboss.https.port:8443}"/>
<socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
<socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>
<socket-binding name="txn-recovery-environment" port="4712"/>
<socket-binding name="txn-status-manager" port="4713"/>
<outbound-socket-binding name="mail-smtp">
<remote-destination host="${jboss.mail.server.host:localhost}" port="${jboss.mail.server.port:25}"/>
</outbound-socket-binding>
</socket-binding-group>
Wildfly 재기동
# systemctl stop wildfly
# systemctl start wildfly
# systemctl status wildfly
아파치 시작
# service httpd start
Redirecting to /bin/systemctl start httpd.service
ip로 접속
