리눅스(Linux) 아파치 톰캣 연동(ajp방식)
<아파치 명령어>
service httpd start
service httpd stop
service httpd restart
service httpd status
<톰켓 명령어>
service tomcat start
service tomcat stop
service tomcat restart
service tomcat status
0.사전준비
*아파치(Apache), 톰캣(Tomcat), 자바홈(JAVA_HOME), 톰캣커넥터(Connectors)를 설치해야한다.
※sudo 명령어 먹통일 경우 sudo 명령어 설치해야한다※
mod_jk설치전 (gcc, gcc-c++, httpd-devel)을 설치해야한다.
설치하지 않았다면 설치
따로 설치
[root@test]# yum -y install gcc
[root@test]# yum -y install gcc-c++
[root@test]# yum -y install httpd-devel
한번에 설치
[root@test]# yum -y install gcc gcc-c++ httpd-devel
#톰캣 커넥터 다운로드(압출만 풀고 따로 설치는 하지 않는다.)
-다운로드 이상시 다운로드 사이트 링크 주소 복사 하여 사용
다운로드
[root@test]# wget -c https://downloads.apache.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz
위명령어 이상시 사용방법
[root@test]# wget -c 링크주소 붙여넣기( shify + insert)
#톰캣 커넥터 압축풀기
압축 풀기
[root@test]# tar -zxvf tomcat-connectors-1.2.48-src.tar.gz
압출 풀기 이름 다른경우
[root@test]# tar -zxvf 해당 파일이름
(확실한게아니다)
파일이동(커넥터):파일위치가 다르면 아파치 안켜진다
[root@test]# mv 커넥터 파일명 /usr/local/
1.mod_jk 생성
#톰캣 커넥터 파일위치로 이동
구조
[root@test]# cd /파일경로/톰캣 커넥터/native
내가저장한 경로
[root@test]# cd /home/opc/tomcat-connectors-1.2.48-src/native
#apxs찾기(아파치 파일위치 찾기)
[root@test]# find / -name apxs
#Makefile생성(톰캣 커넥터 경로/native/ 에서 명령어를 실행해야 한다.)
구조
[root@test]# ./configure --with-apxs=/apxs파일 경로/apxs
내가 설정한 경로
[root@test]# ./configure --with-apxs=/usr/bin/apxs
#make, make install실행(한번에 실행한다. 이상시 따로실행한다.)
한번에 실행
[root@test]# make && make install
따로 실행
[root@test]# make
[root@test]# make install
-make 작동안할시(libtool, automake, makeinfo)설치해보자!
#mod_jk생성 확인(해당 경로에 mod_jk가 있는지 어떤 방법으로든 확인가능)
[root@test]# ll /etc/httpd/modules/ | grep mod_jk
※찾지 못한다면 위의 내용을 하나하나 다시 해본다.
>>>>>사진처럼 나온다면 성공<<<<<<<
#보안관련 설정 변경
[root@test]# chcon -u system_u -r object_r -t httpd_modules_t /etc/httpd/modules/mod_jk.so
2.아파치(Apache) 설정
(기본(yum) 설치 시 경로는 /etc/httpd 에 설치가 되며, 설정파일은 /etc/httpd/conf 경로의 httpd.conf 파일이 존재한다.)
#httpd.conf파일 찾기
[root@test]# find / -name httpd.conf
※두개의 경로 또는 그이상의 경로가 나올수 있다. 더 자세한 내용은 크롬 검색!!!!!!!!
#httpd.conf 내용 수정
해당 경로에서 열기
vi httpd.conf
한번에 열기
vi /etc/httpd/conf/httpd.conf
-최하단에 내용 추가
IncludeOptional conf/extra/*.conf
(아파치 최상위 설정 파일(httpd.conf)에서 앞으로 추가할 설정파일을 사용할 수 있도록 위의 내용을 추가해준다.)
#workers.properties 파일 생성
-경로
[root@test]# vi /etc/httpd/conf/workers.properties
-작성내용(ip주소는 localhost(127.0.0.1)로 해준다)
worker.list=instance
worker.instance.port=8009
worker.instance.host=127.0.0.1
worker.instance.type=ajp13
#mod_jk.conf 파일 생성(workers.properties, logging등을 설정)
-경로
[root@test]# vi /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>
#default.conf 파일 생성
-포인트
- 해당 파일은 기본 Apache VirtualHost 설정파일로 신규 작성해주는것이고 ServerName은 임시로 localhost로 지정해주겠습니다.
- JkMount /* instance 이부분은 도메인이 localhost인 모든 요청은 설정해준 ajp worker의 이름인 instance로 처리하겠다라는 설정
- 보통 아파치에서 디렉토리 매칭, Port Forwardin설정시 사용하는 Location 설정과 비슷하다.
-생성전 작업
해당 경로에 들어가서 mkdir extra를 해야한다.
cd /etc/httpd/conf
mkdir extra
-경로
[root@test]# vi /etc/httpd/conf/extra/default.conf
-작성내용
LoadModule jk_module modules/mod_jk.so
Include conf.modules.d/mod_jk.conf
<VirtualHost *:80>
ServerName localhost
JkMount /* instance
</VirtualHost>
#아파치 재기동
재시작
systemctl restart httpd
종료
systemctl stop httpd
시작
systemctl start httpd
-재기동중 애러발생(아래 내용의 애러 발생시 보안관련 설정 변경을 다시해본다)
(아파치 로그 : tail -f /var/log/httpd/error_log)
(chcon -u system_u -r object_r -t httpd_modules_t /etc/httpd/modules/mod_jk.so)
(setenforce 0)
systemctl 수정시 아래 명령어 실행 : (systemctl daemon-reload)
참조사이트(https://antdev.tistory.com/83)
-로그파일 위치 : /var/log/httpd/error_log
-로그보기 : tail -200f /var/log/httpd/error_log
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
#톰캣 설정(AJP)
-톰캣의 server.xml에 설정 변경(다운받아서 풀어둔 톰캣경로에서 수정)
구조
[root@test]# cd /톰캣 경로/conf
내 톰캣 경로
[root@test]# cd /home/opc/apache-tomcat-8.5.27/conf
한번에 실행
[root@test]# vi /home/opc/apache-tomcat-8.5.27/conf/server.xml
-server.xml 에서 /Define an AJP 1.3 Connector on port 8009 찾아서 내용 추가/수정(내용이 있거나 동일하다면 따로수정하지 않는다.)
<Connector protocol="AJP/1.3"
address="localhost"
port="8009"
redirectPort="8443"
secretRequired="false" />
#톰캣 재기동
구조
sh /톰캣 경로/bin/stop.sh
경로재시작
sh /home/opc/apache-tomcat-8.5.27/bin/shutdown.sh
sh /home/opc/apache-tomcat-8.5.27/bin/startup.sh
시스템에 등록한경우
systemctl stop tomcat
systemctl start tomcat
#서버 IP로 접속
-아래처럼 나타난다면 성공
systemctl 수정시 아래 명령어 실행
-systemctl daemon-reload
빠른 설정
빠른 설정
1. [root@test]# yum -y install gcc gcc-c++ httpd-devel
2. [root@test]# wget -c https://downloads.apache.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz
3. [root@test]# tar -zxvf tomcat-connectors-1.2.48-src.tar.gz
4. [root@test]# cd /home/opc/tomcat-connectors-1.2.48-src/native
5. [root@test]# ./configure --with-apxs=/usr/bin/apxs
6. [root@test]# make && make install
7.[root@test]# chcon -u system_u -r object_r -t httpd_modules_t /etc/httpd/modules/mod_jk.so
8. [root@test]# vi /etc/httpd/conf/httpd.conf
-최하단 추가 : IncludeOptional conf/extra/*.conf
9. [root@test]# vi /etc/httpd/conf/workers.properties
추가
worker.list=instance
worker.instance.port=8009
worker.instance.host=127.0.0.1
worker.instance.type=ajp13
10. [root@test]# vi /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>
11. [root@test]# cd /etc/httpd/conf
[root@test]# mkdir extra
[root@test]# vi /etc/httpd/conf/extra/default.conf
추가
LoadModule jk_module modules/mod_jk.so
Include conf.modules.d/mod_jk.conf
<VirtualHost *:80>
ServerName localhost
JkMount /* instance
</VirtualHost>
12. [root@test]# chcon -u system_u -r object_r -t httpd_modules_t /etc/httpd/modules/mod_jk.so [root@test]# setenforce 0
13. [root@test]# systemctl stop httpd
[root@test]# systemctl start httpd
14. [root@test]# vi /home/opc/apache-tomcat-8.5.27/conf/server.xml
검색 : Define an AJP 1.3 Connector on port 8009
추가/변경 : <Connector protocol="AJP/1.3" address="localhost" port="8009" redirectPort="8443" secretRequired="false" />
15. [root@test]# sh /home/opc/apache-tomcat-8.5.27/bin/shutdown.sh
[root@test]# sh /home/opc/apache-tomcat-8.5.27/bin/startup.sh
'서버 > Linux' 카테고리의 다른 글
리눅스 에러확인 방법 journalctl | tail (0) | 2022.07.23 |
---|---|
리눅스 아파치 Let's Encrypt무료 ssl 인증 방법 (0) | 2022.07.15 |
리눅스 아파치, 톰캣 설치 (0) | 2021.12.09 |
Linux 공유폴더 접근 (0) | 2021.03.31 |
리눅스(Linux)FTP(File Transfer Protocol) (0) | 2021.03.29 |