티스토리 뷰

728x90
반응형

 포스팅은 WildFly와 Apache 연동 가이드입니다.


대표적인 오픈소스소프트웨어 WAS WildFly와 WEB Apache 간 연동 설정 방법에 대해 설명합니다.

 

1. mod_jk.so 파일 다운로드

자 설치가 완료 되면 먼저 Apache / Wildfly 간 연계할 수 있는 모듈인 mod_jk.so 파일을 다운로드 받습니다.
apache 설치와 마찬가지로 일반적으로 Source 형태로 제공하고 이를 compile 해서 사용하도록 배포하고 있지만 미러 사이트를 통해 컴파일된 파일을 다운 받을 수 있습니다.
https://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/

위에 접속하여 version, bits에 맞는 파일을 다운로드 받습니다.
파일 압축을 해제 하면 다음과 같은 파일이 존재합니다.



이중 mod_jk.so 파일을 $APACHE_HOME/modules 업 copy 합니다.

2. apache 환경 설정
$APACHE_HOME/conf/httpd.conf 파일을 수정합니다.
추가한 mod_jk 관련 설정을 추가하게 됩니다.

..

..

..

#LoadModule vhost_alias_module modules/mod_vhost_alias.so

#LoadModule watchdog_module modules/mod_watchdog.so

#LoadModule xml2enc_module modules/mod_xml2enc.so

LoadModule jk_module modules/mod_jk.so

..

..

..

JkWorkersFile "C:/[NRSON] S-CORE/[SW]Apache/Apache24/conf/workers.properties"

JkLogFile "C:/[NRSON] S-CORE/[SW]Apache/Apache24/logs/mod_jk.log"

JkLogLevel info

JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

JkMount /* worker1 


$APACHE_HOME/conf/workers.properties 파일 추가
파일 내용에

# Define 1 real worker using ajp13
worker.list=worker1
#worker.stat1.type=status
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=127.0.0.1
worker.worker1.port=8009

위와 같이 작성
port 8009는 wildfly에서 기존 ajp13 listener로 사용하는 port 입니다.
위와 같이 설정이 완료 되면 apache를 재기동 합니다.

 

3. wildfly 환경 설정
$WILDFLY_HOME/standalone/configuration/standalone.xml 수정

[ajp listener 추가]

..
..
<server name="default-server">
                <ajp-listener name="ajp" scheme="http" socket-binding="ajp"/>
                <http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true"/>
                <https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/>
                <host name="default-host" alias="localhost">
                    <location name="/" handler="welcome-content"/>
                    <filter-ref name="server-header"/>
                    <filter-ref name="x-powered-by-header"/>
                    <http-invoker security-realm="ApplicationRealm"/>
                </host>
            </server>
..
..
..
    <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
        <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="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="txn-recovery-environment" port="4712"/>
        <socket-binding name="txn-status-manager" port="4713"/>
        <outbound-socket-binding name="mail-smtp">
            <remote-destination host="localhost" port="25"/>
        </outbound-socket-binding>
    </socket-binding-group>

 

위와 같이 AJP Listener를 추가해주시면 됩니다. 하단에는 8009로 기본 셋팅되어 있고 이를 변경하고자 할 경우 수정이 필요합니다.
이후 wildfly를 재기동 합니다.

 

4. 확인

정상 연동이 되었을 경우 apache의 default port 80으로 호출하였을 때 wildfly default page가 호출되면 됩니다.
http://localhost/


 


 

위와같이 연동 된 것을 확인할 수 있습니다. 80Port를 오픈 한 Apache로 부터 WildFly의 Welcome-contents를 호출하는 모습입니다.

다음시간에 또 뵙겠습니다.

고맙습니다.


728x90
반응형