1. apache2, tomcat9, jdk 설치
apt update
apt install apache2
apt install default-jdk
apt install tomcat9 tomcat9-admin
간단하게 아파치, 톰캣이 설치된다
*톰캣을 사용하라면 java가 설치되어있어야 됨
2. 연동 방법 선택
아파치 - 톰캣 연동 방법은 3가지가 있다. 이중 mod_jk 방식을 사용한다. 별도의 모듈 설치가 필요하지만
다른 연결방법은 안해봐서 모르겠다. 나중에 기회가 되면 시도해보자.
- mod_jk
- mod_proxy
- 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
vi /etc/apache2/mods-available/jk.conf
jk.conf 파일에 workers.rproerties 기본경로를 아파치 홈으로 변경해주자
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
끗
'서버 > 리눅스\유닉스' 카테고리의 다른 글
Docker 톰캣 WAS 설치 (0) | 2022.06.20 |
---|---|
Docker container bash 설정 (0) | 2022.06.19 |
Ubuntu(우분투) 리눅스 Putty로 ssh 연결 (root계정 login 허용방법) (0) | 2022.06.19 |
리눅스/유닉스 vi 편집기 방향키 입력 오류 수정 (0) | 2022.06.19 |
Ubuntu(우분투) 리눅스 CLI 모드로 부팅하는 방법 (0) | 2022.06.19 |