개발

리눅스에서 apache + tomcat 연동 방법

snow-line 2020. 8. 16. 01:45
반응형

1. Tomcat 설치

먼저 톰캣을 다운로드한 후 리눅스 서버에 업로드합니다.

 

업로드한 톰캣은 /usr/local/src로 이동합니다.

 

톰캣 압축 해제 후 심볼릭 링크를 설정합니다.

cd /usr/local/src

tar zxvf apache-tomcat-8.5.57.tar.gz

mv apache-tomcat-8.5.57 /usr/local

ln -s apache-tomcat-8.5.57 tomcat

 

톰캣 폴더 안에 있는 bin 폴더에서 startup.sh 스크립트를 실행합니다.

권한이 없을 경우에는 아래 명령어를 실행합니다.

chmod 755 startup.sh

정상적으로 실행되면 에러 없이 아래와 같이 표시됩니다.

Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java/jdk1.8.27
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

 

톰캣 작동을 확인합니다.

netstat -nlpt

8080 포트가 화면에 표시되어 있으면 정상적으로 톰캣이 작동하는 것입니다.

아파치는 설치되어 있는 것으로 가정하고 아파치 톰캣 연동으로 바로 넘어가겠습니다.

 

2. 아파치 톰캣 연동

아파치 사이트에서 아파치 톰캣 연동을 위해 mod_jk(https://tomcat.apache.org/download-connectors.cgi)를 다운로드합니다.

 

다운로드한 mod_jk를 리눅스 서버에 업로드합니다.

 

업로드한 mod_jk는 /usr/local/src 폴더로 이동합니다.

 

mode_jk 압축 해제 후 심볼릭 링크를 설정합니다.

cd /usr/local/src

tar -zxvf tomcat-connectors-1.2.40-src.tar.gz

mv tomcat-connectors-1.2.40-src /usr/local

ln -s tomcat-connectors-1.2.40-src tomcat-connectors

cd /usr/local/tomcat-connectors/native

 ./buildconf.sh
  
 ./configure --with-apxs=/usr/local/apache2/bin/apxs
 
 make
 
 make install

해당 작업을 완료하면 /usr/local/apache2/modules 안에 mod_jk.so파일이 생성됩니다.

  
cd /usr/local/apache2/conf 로 이동후 vi httpd.conf 명령어를 사용하여 아파치 설정을 변경합니다.

 
httpd.conf 파일 마지막 줄에 아래와 같이 입력합니다.
  

LoadModule jk_module modules/mod_jk.so
   <ifModule jk_module>
        JkWorkersFile conf/workers.properties
        JkShmFile logs/mod_jk.shm
        JkLogFile logs/mod_jk.log
        JkLogLevel info
        JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
  </ifModule>

  JkMount /*.jsp ajp13

 

workers.properties파일 생성 및 설정합니다. (/usr/local/apache2/conf/ 에 생성)

vi workers.properties


    worker.list=ajp13
    worker.ajp13.type=ajp13
    worker.ajp13.host=localhost
    worker.ajp13.port=8009
    worker.ajp13.lbfactor=1
    worker.ajp13.connection_pool_timeout=600
    worker.ajp13.socket_keepalive=1

<IfModule dir_module>
     DirectoryIndex index.html index.jsp index.htm
 </IfModule>

 

httd-vhost 파일에 아래 내용을 추가합니다.

vi /usr/local/apache2/conf/extra/httd-vhost

<VirtualHost 해당 서버 아이피 주소:80>
  ServerAdmin 사용할 이메일 주소
  DocumentRoot /home/tomcat/public_html/ROOT
  ServerName 해당 서버 아이피 주소

  JkMount /*.jsp ajp13

</VirtualHost>

 

server.xml 파일에 아래 내용을 추가합니다.

vi /usr/local/tomcat/conf/server.xml

HOST name="해당 서버 아이피 주소" appBase="/home/tomcat/public_html">

 

* 경로 설정 추가 설명

 

예를 들어 지정하고 싶은 경로가 /home/tomcat/public_html/ROOT일 때

 

아파치

- /usr/local/apache2/extra/vhost에 설정된 호스트 경로가 /home/tomcat/public_html 이어야 합니다.


톰캣

- <host 주소>/home/tomcat/public + context경로 /ROOT (context작성 안 할 경우 기본적으로 /ROOT입니다.) 일 때 아파치 경로도

/home/tomcat/public_html/ROOT로 변경해줘야 합니다.

반응형