1. apache2, tomcat9, jdk 설치 

apt update
apt install apache2
apt install default-jdk
apt install tomcat9 tomcat9-admin

 

간단하게 아파치, 톰캣이 설치된다

*톰캣을 사용하라면 java가 설치되어있어야 됨

 


 

2. 연동 방법 선택

 

아파치 - 톰캣 연동 방법은 3가지가 있다. 이중 mod_jk 방식을 사용한다. 별도의 모듈 설치가 필요하지만

다른 연결방법은 안해봐서 모르겠다. 나중에 기회가 되면 시도해보자.

 

  1. mod_jk
  2. mod_proxy
  3. mod_proxy_ajp

 

 

 


 

 

3. mod_jk 설치 및 내용 수정

apt-get install libapache2-mod-jk

 

mod_jk를 설치하면

/etc/libapache2-mod-jk/workers.properties 설정 파일이  생성되는데

이 녀석말고 아파치 설치경로에 새로 설정파을을 만들어 사용하자

workers.rproerties 기본 위치 변경은 jk.conf파일의 경로를 변경하면 된다.

 

vi /etc/apache2/workers.properties

아래 내용 추가

 

workers.tomcat_home=/usr/share/tomcat9  #톰캣 설치경로
workers.java_home=/usr/lib/jvm/java-11-openjdk-amd64  #JDK 설치경로
 
worker.list=tomcat1
 
worker.tomcat1.port = 8009
worker.tomcat1.host = localhost   #톰캣이 다른 서버에 설치되어있으면 ip 입력
worker.tomcat1.type = ajp13
worker.tomcat1.lbfactor = 1

 

 

 

workers.properties 설정

 

 

 

vi /etc/apache2/mods-available/jk.conf

jk.conf 파일에 workers.rproerties 기본경로를 아파치 홈으로 변경해주자

 

jk.conf 수정


4. DocumentRoot 및 톰캣 요청 설정

 

vi /etc/apache2/sites-available/000-default.conf

000-default.conf 파일을 열어 아래 내용처럼 수정하자.

 

        ServerAdmin webmaster@localhost
        #DocumentRoot /var/www/html
        DocumentRoot /var/lib/tomcat9/webapps/ROOT/

        #JkMount /* tomcat1

        JkMount /*.jsp tomcat1
        JkMount /*.json tomcat1
        JkMount /*.xml tomcat1
        JkMount /*.do tomcat1

documentroot은 아파치 홈경로인데 톰캣의 홈경로와 똑같이 변경

 

jkmount /*은 모드 요청은 톰캣으로 요청

/*.jsp 는 확장자가 jsp파일이면 톰캣으로 요청

/*.json 확장자가 json파일이면 톰캣으로 요청


5. AJP 프로토콜 설정

 

vi /etc/tomcat9/server.xml

톰캣의 server.xml 파일을 열어 아래처럼 주석을 제거하고 수정.

 

 

 

 


6. 아파치, 톰캣 Restart

 

service apache2 restart
service tomcat9 restart

 


7. 연동 test

 

구성은 다르지만 이전 포스팅 그림 재탕

html 파일은 아파치가

jsp 파일은 톰캣이 요청 받게 설정하였다.

 

/var/lib/tomcat9/webapps/ROOT 경로에

html 파일과 jsp 파일을 만들어 접속해보자

 

tomcat을 stop 시켜도 html 파일은 연결되고 jsp파일은 연결이 안된다.

반대로 apache를 stop시키면 html, jsp 둘다 접속이 안된다.

 

아파치-톰캣 연동 방식은

클라이언트가 아파치로 서비스 요청을하면

html은 아파치가 처리하고

jsp파일은 톰캣에서 처리하고 다시 아파치로 넘겨주는 방식이다.

 

systemctl tomcat9 stop
systemctl tomcat9 start

systemctl apache2 stop
systemctl apache2 start

 

 

 

*acees log 확인방법

 

아파치 Acees log

root@Ubuntu:/var/log/apache2# tail -f  access.log
192.168.35.57 - - [23/Jun/2022:23:34:51 +0900] "GET /sansane.html HTTP/1.1" 200 645 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36"

 

톰캣 Aceess log

root@Ubuntu:/var/log/tomcat9# tail -f localhost_access_log.2022-06-23.txt
192.168.35.57 - - [23/Jun/2022:22:06:19 +0900] "GET /sansane.jsp HTTP/1.1" 200 786

 

 

 

 

 

 

 

+ Recent posts