#### 이 설정은 아직 완료가 되지 않는 내용이다.
#### 제대로 연결이 되지않아서 고민이 많다...
라이브러리 설치
yum -y install gcc gcc-c++ httpd-devel pcre-devel
mod_jk 설치
wget https://dlcdn.apache.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz
tar -zxvf tomcat-connectors-1.2.48-src.tar.gz
cd ./tomcat-connectors-1.2.48-src/native
./configure --with-apxs=/usr/bin/apxs
make
make install
여기서 --with-apxs=/usr/bin/apxs Apache은 확장 기능 설치를 도와주는 유틸리티 경로이고, httpd-devel 패키지를 설치할 경우 기본적으로 /usr/bin/apxs에 있다.
./configure 전에 apxs가 있는지 꼭 확인하길 바란다.
rpm으로 설치한 경우 경로를 확인후 적용하면된다.
정상적으로 make make install이 되면 다음과 같은 결과가 나온다.
설치가 되었으니 최종확인
apache server로 이동하기 전 port가 열려 있는지 확인
netstat -nlp |grep java
firewall-cmd --zone=public --add-port=8009/tcp --permanent
firewall-cmd --reload
vi /etc/httpd/conf/httpd.conf
LoadModule jk_module modules/mod_jk.so
<IfModule mod_jk.c>
JkWorkersFile conf/workers.properties
JkShmFile run/mod_jk.shm
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%y %m %d %H:%M:%S] "
</IfModule>
<VirtualHost *:80>
JkMount /* tomcat
ServerName localhost
</VirtualHost>
현 설정방법은 단일 tomcat설정 방법이다.
다수 tomcat의 경우 로드밸런서로 묶어서 하면된다.
vi /etc/httpd/conf/workers.properties
worker.list=tomcat
worker.tomcat.port=8009
worker.tomcat.host=<tomcat ip>
worker.tomcat.type=ajp13
worker.tomcat.lbfactor=1
내부 테스트용이였기에 기본값 포트를 사용하였지만 기본적으로는 다른 포트로 변경하는걸 추천한다.
그리고 tomcat에서 https를 구현할 예정이라면 리다이렉션 포트도 열어주는걸 추천한다
firewall-cmd --zone=public --add-port=8009/tcp --permanent
firewall-cmd --reload
https로 추가할경우 다음과 같은 내용을 추가한다
<VirtualHost *:443>
ServerName localhost.com
#SSL설정
#자신이 SSL발급 받은 사이트에 대부분 매뉴얼이 나와있다.
#SSL파일의 경로 입력
SSLEngine on
SSLCertificateFile /etc/httpd/conf/cert/_wilidcard_test.crt
SSLCertificateKeyFile /etc/httpd/conf/cert/_wildcard_test.key
SSLCertivicateChainFile /etc/httpd/conf/cert/test.pem
SSLCACertificateFile /etc/httpd/conf/cert/test.crt
</VirtualHost>
AJP 사용 선언
vi /opt/tomcat/conf/server.xml
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
보통 AJP로 검색해서 찾아보면 주석처리가 되어있을테니 주석을 지우고 하면된다.
<Connector protocol="AJP/1.3"
address="0.0.0.0"
secretRequired="false"
port="8009"
redirectPort="8443"/>
tomcat의 경우 기본적으로 설치되어 있기 때문에 이것만 설정하면 완료된다.
변경 후 tomcat 재시작
systemctl stop tomcat
systemctl start tomcat
systemctl로 설정하면 restart명령이 안먹히는 경우가 있다.
systemd 등록 안했다면 다음명령어로 가능하다.
/tomcat/bin/shutdown.sh
/tomcat/bin/startup.sh
webip로 접속하면 다음과 같은 결과가 나온다
tomcat에서 jsp파일을 생성한다.
vi /opt/tomcat/webapps/myapp/hello.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Hello JSP Page</title>
</head>
<body>
<h1>Hello, JSP World!</h1>
</body>
</html>
apache jsMount 설정 추가
vi /etc/httpd/conf/httpd.conf
JkMount /myapp/* ajp13_worker
apache restart
systemctl restart httpd
페이지 확인
http://(web site address)/myapp/hello.jsp
sudo su jenkins -s /bin/bash // jenkins 계정으로 로그인 하는 방법