아파치와 톰캣을 mod_jk를 통해 연동 하고자 한다. (localhost, HTTP)
최종 결과물은 아파치의 80포트 진입 시 아파치 톰캣 8080 포트로 진입되는 것
톰캣 서버가 보이거나 따로 작성한 html 파일 내용이 보여야함
필자는 Cent OS 에서 실습을 진행하였음
아파치와 톰캣은 이미 설치되어 있고 아파치:80, 톰캣:8080 으로 테스트 웹브라우저 출력 확인은 완료된 상태임
아직 확인 완료 하지 못한 부분은 아래 링크 확인
아파치 설치
https://chance-story.tistory.com/94
https://chance-story.tistory.com/95
설치 환경 확인
# java -version
# yum list installed | grep tomcat
// 위 두 명령어를 통한 환경 확인
라이브러리 설치
// tomcat connector 컴파일 및 구성에 필요한 라이브러리 설치
# yum install httpd-devel gcc
Tomcat Connector 설치
https://tomcat.apache.org/download-connectors.cgi
파일 다운로드 및 압축 해제
# cd /usr/local
# wget https://dlcdn.apache.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz
--no-check-certificate
# tar -xvzf tomcat-connectors-1.2.48-src.tar.gz
Tomcat Connector Config
# cd /usr/local/tomcat-connectors-1.2.48-src/native
# ./configure --with-apxs=/usr/bin/apxs
# make
아파치 설정 파일 수정
/etc/httpd/conf/httpd.conf 파일 수정
LoadModule jk_module modules/mod_jk.so // mod_jk.so 위치 경로 확인
<VirtualHost *:80>
ServerName localhost
JKMount /*.jsp tomcat
JKMount /*.json tomcat
JKMount /*.xml tomcat
JKMount /*.do tomcat
</VirtualHost>
Include conf.modules.d/*.conf
// 내용 추가
// 아파치 최 상위 설정 파일 (httpd.conf)에서 추가할 설정 파일들을 참조할 수 있도록 함
/etc/httpd/conf/workers.properties
// 파일 생성 하여 내용 작성
// 내용
worker.list=tomcat
worker.tomcat.port=8009
worker.tomcat.host=127.0.0.1
worker.tomcat.type=ajp13
workers.properties 경로 지정 및 log 설정
130 DocumentRoot "/home/test1/apache-tomcat-8.5.89/webapps/ROOT"
131
132 #
133 # Relax access to content within /var/www.
134 #
135 <Directory "/home/test1/apache-tomcat-8.5.89/webapps/ROOT">
136 AllowOverride None
137 # Allow open access:
138 Require all granted
139 </Directory>
/etc/httpd/conf/httpd.conf 파일 내 내용 추가
(기존 내용 주석처리 및 ROOT 경로 확인하고 작성)
/etc/httpd/conf.modules.d/mod_jk.conf
// 신규 파일 작성
//내용
<ifModule jk_module>
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkShmFile /var/log/httpd/jk-runtime-status
JkWatchdogInterval 30
</ifModule>
이후 서버 재가동
[root@localhost extra]# systemctl restart httpd
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
오류가 보임
systemctl status httpd.service
또는 journalctl -xe 명령어를 통해 오류를 확인해보자
Jun 06 08:21:53 localhost.localdomain httpd[56019]: httpd: Syntax error on line 57 of /etc/httpd/conf/httpd.conf: Syntax error on line 1 of /etc/httpd/conf/ext...directory
오류 위치를 자세히 설명해준다
403 에러 발생 - 접근권한 오류로 보임
=> webapps/ROOT 권한을 chmod 755 로 수정 하였음
ROOT 권한 바꾸고 경로 수정했음
find / -name "ROOT" 경로 찾음
tomcat 에 대한 html 파일 위치 (사용자 마다 다름)
=> /webapps/ROOT/index.html
=> 간단한 html 파일 작성 (ex. hello world 만 출력)
서버 재기동하여 아파치 80 포트 접속 시 톰캣 8080 포트로 연결되는지 확인
참고
https://jane096.github.io/linux/tomcat-apache-connection/
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=kiss7001&logNo=40197068951
https://velog.io/@bonjaski0989/WEB-WAS-ApacheTomcat-modjk%EC%97%B0%EB%8F%99
'WEB WAS > 미들웨어' 카테고리의 다른 글
Connection pool (0) | 2023.06.07 |
---|---|
mod_jk.so (Apache Tomcat Connector 모듈 파일) (0) | 2023.06.07 |
[CentOS 7] 아파치 톰캣 설치 및 실행 (jdk 설치, wget 활용) (0) | 2023.06.06 |
[CentOS 7] 아파치 설치 및 실행 (yum 활용) (0) | 2023.06.06 |
Coherence 란? (0) | 2023.06.05 |