Apache와 Tomcat을 통합하려면, mod_proxy 및 mod_proxy_ajp 모듈을 Apache에 활성화하고, Apache의 VirtualHost 설정에서 Tomcat과의 연결을 설정합니다. 일반적으로 ProxyPass 및 ProxyPassReverse 지시어를 사용하여 요청을 Tomcat으로 전달하도록 구성합니다. 이로써 Apache는 정적 콘텐츠를 처리하고 동적 콘텐츠는 Tomcat에서 처리하게 됩니다. 이 설정은 Apache와 Tomcat 간의 효과적인 협력을 가능하게 합니다.
JAVA 설치
sudo apt install openjdk-17-jre-headless
Tomcat10 설치 위치로 이동합니다.
cd /usr/share
Tomcat10 다운로드
sudo wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.16/bin/apache-tomcat-10.1.16.tar.gz
압축 해제합니다.
sudo tar -zxvf apache-tomcat-10.1.16.tar.gz
폴더 이름을 변경합니다.
sudo mv apache-tomcat-10.1.16 /usr/share/tomcat10
포트오픈
sudo iptables -I INPUT 5 -i ens3 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -I INPUT 5 -i ens3 -p tcp --dport 8080 -m state --state NEW,ESTABLISHED -j ACCEPT
서버실행 확인
sudo sh /usr/share/tomcat10/bin/startup.sh
sudo sh /usr/share/tomcat10/bin/shutdown.sh
apache2 설치
sudo apt-get install -y apache2
mod-jk 설치
sudo apt-get install -y libapache2-mod-jk
JAVA설치 정보 조회
root@localhost:~# which java
/usr/bin/java
root@localhost:~# readlink /usr/bin/java
/etc/alternatives/java
root@localhost:~# readlink /etc/alternatives/java
/usr/lib/jvm/java-17-openjdk-amd64/bin/java
/etc/libapache2-mod-jk/workers.properties 수정
sudo nano /etc/libapache2-mod-jk/workers.properties
아래와 같이 수정
workers.tomcat_home=/usr/share/tomcat10
workers.java_home=/usr/lib/jvm/java-17-openjdk-amd64/bin/java
톰캣 server.xml 파일 수정
sudo nano /usr/share/tomcat10/conf/server.xml
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" secretRequired="false" URIEncoding="UTF-8" address="0.0.0.0"/>
<Engine name="Catalina" jvmRoute="ajp13_worker" defaultHost="localhost" >
<Context Path="/" docBase="mucast_www" reloadable="true" />
Apache /etc/apache2/sites-enabled/000-default.conf 수정
sudo nano /etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80>
ServerName localhost
ServerAdmin webmaster@localhost
DocumentRoot /usr/share/tomcat10/webapps/mucast_admin/
JkMount /* ajp13_worker
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/usr/share/tomcat10/webapps/mucast_admin">
AllowOverride none
Require all granted
</Directory>
</VirtualHost>
apache2.conf 파일에 맨 아래에 아래 내용 추가
sudo nano /etc/apache2/apache2.conf
JkWorkersFile /etc/libapache2-mod-jk/workers.properties
# Where to put jk shared memory
JkShmFile /var/log/apache2/mod_jk.shm
# Where to put jk logs
JkLogFile /var/log/apache2/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the timestamp log format
JkLogStampFormat "[ %a %b %d %H:%M:%S %Y ] "
sudo nano /etc/apache2/mods-enabled/jk.conf 파일수정
주석처리
#JkWorkersFile /etc/libapache2-mod-jk/workers.properties
서버재시작
sudo sh /usr/share/tomcat10/bin/shutdown.sh
sudo sh /usr/share/tomcat10/bin/startup.sh
sudo service apache2 restart