Browsing Tag

tomcat8

IT/Linux/Kubernetes

Tomcat 8.5.58 설치 + Apache 연동

안녕하세요? ManVSCloud 김수현입니다.

오늘은 Tomcat 설치 및 Apache 연동을 해보겠습니다.
(전에 했던 거 미루고 미루다 이제서야 글을 올립니다)

-. Env
* OS : CentOS 7 + 3.10.0-1127.19.1.el7.x86_64
* Apache : 2.4.6
* Tomcat : 8.5.58
* jdk : 1.8

설치 환경은 위 내용과 같으며 apache와 tomcat만 연동할 것입니다.

-. 기본 설치

yum install httpd httpd-devel -y
yum install gcc autoconf libtool -y
yum install java-1.8.0-openjdk-devel.x86_64 -y
wget http://mirror.apache-kr.org/tomcat/tomcat-8/v8.5.58/bin/apache-tomcat-8.5.58.tar.gz
wget https://downloads.apache.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz

tar zxvf apache-tomcat-8.5.58.tar.gz

tar zxvf tomcat-connectors-1.2.48-src.tar.gz
cd tomcat-connectors-1.2.48-src/native
./buildconf.sh
./configure –with-apxs=/usr/bin/apxs
make && make install

-. /etc/httpd/conf/httpd.conf

LoadModule jk_module modules/mod_jk.so

-. /etc/httpd/conf/uriworkermap.properties

/*.do=ajp13
/*.jsp=ajp13

-. /etc/httpd/conf/workers.properties

# tomcat location
workers.tomcat_home=”/usr/local/src/apache-tomcat-8.5.58″

# jdk
# ll /usr/lib/jvm | grep openjdk
workers.java_home=”/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64″

worker.list=manvscloud

worker.manvscloud.port=8009
worker.manvscloud.host=localhost
worker.manvscloud.type=ajp13

-.server.xml_sample

116 <!–
117 <Connector protocol=”AJP/1.3″
118 address=”::1″
119 port=”8009″
120 redirectPort=”8443″ />
121 –>

152 <Host name=”localhost” appBase=”webapps”
153 unpackWARs=”true” autoDeploy=”true”>

설치한 tomcat의 conf 디렉토리에 server.xml 파일이 있습니다.
기존 server.xml을 백업해두고 아래와 같이 설정값을 변경합니다.

-. server.xml

116 <Connector protocol=”AJP/1.3″
117 port=”8009″
118 secretRequired=”false”
119 redirectPort=”8443″ />

152 <Host name=”localhost” appBase=”/home/manvscloud/public_html/”
153 unpackWARs=”true” autoDeploy=”true” xmlValidation=”false” xmlNamespaceAware=”false”>
154 <Context path=”” docBase=”.” reloadable=”true”/>

-. /home/manvscloud/public_html/index.jsp
tomcat이 apache와 연동되는지 확인하기 위해 테스트를 확인할 index.jsp를 준비합니다.

<%– JSP test.jsp –%>
<%@ page language=”java”%>
<%!
int a= 192;
int b= 168;
%>
<%
int c = 0;
c=a+b;
%>

<html>
<head><title> JSP Test </title></head>
<body>
c= <%=c%>
</body>
</html>

-. /etc/httpd/conf/jk.conf

<IfModule jk_module>
JkWorkersFile “/etc/httpd/conf/workers.properties”
JkMountFile “/etc/httpd/conf/uriworkermap.properties”
JkLogFile logs/mod_jk.log
JKLogStampFormat “[%y %m %d %H:%M:%S]”
JkLogLevel info

JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
</IfModule>

-. /etc/httpd/conf/vhost.conf

<VirtualHost *:80>
DocumentRoot “/home/manvscloud/public_html/index.jsp”
ServerName localhost

JkMount /* manvscloud
JkMount /*.jsp manvscloud
JkMount /servlet/* manvscloud
</VirtualHost>

-. Execution
이제 설정이 끝났으니 실행하여 테스트 페이지가 잘 나오는지 확인해보아야합니다.
int a= 192;
int b= 168;
c = a+b; 를 해두고 c= <%=c%>로 불러냈으니 c는 192+168인 360이라는
결과의 페이지가 나오면 정상적으로 해낸 것입니다.

systemctl enable httpd
systemctl start httpd
/usr/local/src/apache-tomcat-8.5.58/bin/startup.sh

-. 페이지 출력


저같은 경우 기존 VirtualBox에 NAT로 쓰고있던 가상 서버를 이용하여 테스트 하였습니다.

80을 8888로 포트포워딩 해두어 해당 페이지로 이동하면
아파치와 톰캣이 잘 연동된 것을 확인 할 수 있습니다.

정상적으로 테스트를 마쳤습니다.

읽어주셔서 감사합니다.