드디어 마지막!! 아파치 웹서버와 톰캣을 연동 시키면 됩니다.
웹서버와 톰캣을 연결 시키는 방법은 3가지가 있습니다.
1. 예전부터 많이 쓰던 방법인 tomcat-connector ( mod_jk )를 사용하는 방법
2. mod_proxy를 사용하여 reverse proxy기능을 사용하는 방법
3. mod_proxy_ajp를 사용하여 AJP protocol을 reverse proxy로 사용하는 방법
저는 dog초보니 가장 많이 쓰는 방법인 1번을 사용하도록 하겠습니다.
1. compile을 위해 gcc와 httpd-devel 패키지를 설치
# yum install gcc gcc-c++ httpd-devel
2. 아파치 홈페이지에서 tomcat-connector를 다운받는다
https://tomcat.apache.org/download-connectors.cgi
역시 tar.gz파일을 다운받아야죠
3. 받은 파일의 압축을 풀어줍니다
# tar zxvf tomcat-connector-1.2.46.tar.gz
4. 생성된 디렉토리 아래에 native 디렉토리로 이동합니다.
# cd tomcat-connector-1.2.46/native
5. Makefile을 생성하기 위해 아래 명령어를 실행합니다.
# ./configure --with-apxs=/usr/bin/apxs 혹은 /usr/sbin/apxs
↑ error 발생 - bin 디렉토리가 없다. sbin 디렉터리로 가자
진행 되는 분은 make로 넘어가시면 됩니다.
# make (컴파일)
# make install (컴파일 완료 후 install)
make install 후 /etc/httpd/modules/ 경로의 파일에 mod_jk.so 파일이 생성됨을 확인할 수 있습니다.
# cd /etc/httpd/modules
# ls -al | grep mod_jk ( mod_jk라는 이름을 가진 파일의 정보를 확인합니다.)
6. 이제 설정을 시작합니다.
# vim /etc/httpd/conf/httpd.conf
/를 누르고 LoadModule을 찾습니다. 다음 검색 결과는 n을 누르면 볼 수 있습니다.
활성화 되어 있는 LoadModule들 중 제일 위에 다음 문장을 추가해 줍니다.
LoadModule jk_module modules/mod_jk.so
7. 이제 worker파일을 생성합니다. ( 워커파일이 뭔지 알아보고 설명하도록 하겠습니다. )
# vim /etc/httpd/conf/workers.properties
그리고 아래의 내용을 작성해 줍니다.
worker.list = tomcat
worker.tomcat.port=8009
worker.tomcat.host=localhost
worker.tomcat.type=ajp13
worker.tomcat.lbfactor=1
:wq로 저장!
포트를 8009로 설정한 이유는 tomcat의 server.xml설정을 보면 알 수 있습니다.
# vi /usr/local/server/tomcat/conf/server.xml
8. 또 하나의 파일을 생성합니다.
# vim /etc/httpd/conf/uriworkersmap.properties
/*.do=tomcat ( .do 확장자는 톰캣으로 )
/*.jsp=tomcat ( .jsp 확장자도 톰캣으로 )
더 추가하고 싶은 확장자가 있으면 위의 형식으로 지정해주면 됩니다.
9. 이제 7번과 8번에서 만든 파일들을 설정해주는 파일을 만듭니다.
# vim /etc/httpd/conf.d/mod_jk.conf
<IfModule mod_jk.c>
JkWorkersFile conf/workers.properties
JkMountFile conf/uriworkermap.properties
JkShmFile run/mod_jk.shm
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
</IfModule>
10. 마지막으로 DocumentRoot를 변경하고, DirectoryIndex에 내용을 추가해줍니다.
# vim /etc/httpd/conf/httpd.conf
① '/'키를 누르고 DocumentRoot 검색 후
DocumentRoot "/var/www/html"는 #으로 주석처리, Tomcat의 경로에 있는 ROOT를 이용한다.
#DocumentRoot "/var/www/html"
DocumentRoot "/usr/local/server/tomcat/webapps/ROOT"
↑ 주석처리! (#으로 주석)
↑ 추가해준다.
② 마찬가지로 /DirectoryIndex 검색
DirectoryIndex index.html index.html.var 에
index.jsp를 추가해준다
DirectoryIndex index.jsp index.html index.html.var
위의 과정들을 거치고나면 다음처럼 5개의 명령어들이 실행되었던 것을 볼 수 있다.
총 3개의 새로운 파일이 만들어지고, httpd.conf파일의 세 곳을 편집한다.
11. 이제 localhost:8080이 아닌 localhost로 접속을 해본다
제대로 뜬다면 성공!
-------------------------------------
type #1 : could not reliably determine the server's fully qualified domain name
# vim /etc/httpd/conf/httpd.conf
#ServerName www.example.com:80 - 주석처리 하고
ServerName localhost - 새로 정의
type #2 : 이미지와 css가 적용되지 않을 때
# vim /etc/httpd/conf/uriworkersmap.properties
/*.png
/*.jpg
/*.css
추가해주기
참고 및 출처 : https://suwoni-codelab.com/linux/2017/05/29/Linux-CentOS-Apache-Tomcat/
https://www.lesstif.com/pages/viewpage.action?pageId=12943367
다수의 톰캣이 있을 때 ↗
http://hellogk.tistory.com/123
http://gafani.tistory.com/entry/CentOS-Apache%EC%99%80-Tomcat-%EC%97%B0%EB%8F%99
'Server > CentOS 6' 카테고리의 다른 글
2. 아파치와 톰캣 연동을 위한 Tomcat7 설치하기 (0) | 2018.12.19 |
---|---|
1. 아파치와 톰캣 연동을 위한 JDK 1.7 설치 (0) | 2018.12.19 |