본문 바로가기
Tomcat

Apache&Tomcat [ WEB & WAS 분리 테스트 ]

by Hwoarang757 2021. 5. 4.

출처 : 09. 리눅스(CentOS) 개발 놀이터 만들기 - Apache와 Tomcat 연동 | Suwoni-Codelab

 

09. 리눅스(CentOS) 개발 놀이터 만들기 - Apache와 Tomcat 연동

리눅스 CentOS에 Apache와 Tomcat을 연동해봅니다.

suwoni-codelab.com

 

예제 구성

192.168.56.12 WEB [ Apache] 서버  - CentOS 7.6

192.168.56.11 WAS [ Tomcat ] 서버 - CentOS 7.6

 

Apache WEB 서버 설치 진행

 

(1) 관련 구성 요소 설치
[captain@localhost /]# sudo yum install gcc gcc-c++ httpd-devel
 

(2) Apache Tomcat® - Tomcat Connectors (mod_jk) Downloads 링크에서 최신 JK Connnectors 파일 다운로드 받음

[captain@localhost testdir]# sudo wget https://mirror.navercorp.com/apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz

--2021-05-03 21:25:58--  https://mirror.navercorp.com/apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz

Resolving mirror.navercorp.com (mirror.navercorp.com)... 125.209.216.167

Connecting to mirror.navercorp.com (mirror.navercorp.com)|125.209.216.167|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 3665280 (3.5M) [application/octet-stream]

Saving to: ‘tomcat-connectors-1.2.48-src.tar.gz’

100%[===================================================================================================================================================================================================>] 3,665,280   8.61MB/s   in 0.4s

 

2021-05-03 21:25:58 (8.61 MB/s) - ‘tomcat-connectors-1.2.48-src.tar.gz’ saved [3665280/3665280]

 

# 앞축을 해제 한다.

[captain@localhost testdir]# tar zxvf tomcat-connectors-1.2.48-src.tar.gz

# native 디렉터리로 이동 한다.

[captain@localhost testdir]# cd tomcat-connectors-1.2.48-src/

[captain@localhost tomcat-connectors-1.2.48-src]# cd native/

 

# Makefile 생성 진행

[captain@localhost native]# ./configure --with-apxs=/usr/bin/apxs

[captain@localhost native]# make

[captain@localhost native]# sudo make install

 

# install 후 /etc/httpd/modules/ 경로의 파일 안에 mod_jk.so파일이 생성 확인

[captain@localhost native]# ll /etc/httpd/modules/ | grep mod_jk

 

 

# Selinux 보안 관련 설정 변경 진행

[captain@localhost native]# sudo chcon -u system_u -r object_r -t httpd_modules_t /etc/httpd/modules/mod_jk.so

 

# httpd.conf 파일에 내용 추가 진행

[captain@localhost native]# sudo vi /etc/httpd/conf/httpd.conf

 53번째 줄  LoadModule 로 검색 진행

     53 # Example:

     54 # LoadModule foo_module modules/mod_foo.so

     55 #

     56 # 2021.05.03 kyd add

     57 LoadModule jk_module modules/mod_jk.so

     58 <VirtualHost *:80>

     59         ServerName localhost

     60         JkMount /*.jsp tomcat

     61         JkMount /*.do tomcat

     62         JkMount /*.xml tomcat

     63 </VirtualHost>

 

 

 

# mod_jk.conf 파일 생성

[captain@localhost native]# sudo vi /etc/httpd/conf.modules.d/mod_jk.conf

<IfModule mod_jk.c>

     # 워커 설정파일 위치

     JkWorkersFile conf/workers.properties

     # 공유 메모리파일 위치 반드시 Selinux 보안때문에 run에 위치 필수

     JkShmFile run/mod_jk.shm

     # log 위치

     JkLogFile logs/mod_jk.log

     # 로그레벨 설정

     JkLogLevel info

     # 로그 포맷에 사용할 시간 형식을 지정한다.

     JkLogStampFormat "[%y %m %d %H:%M:%S] "

</IfModule>

 

# 위 mod_jk.conf 파일 내용 중 conf/workers.properties 파일 생성 처리 진행

[captain@localhost native]# sudo vi /etc/httpd/conf/workers.properties

worker.list=tomcat

worker.tomcat.port=8009

# Tomcat 서버 주소 Host IP 설정 진행

worker.tomcat.host=192.168.56.11

worker.tomcat.type=ajp13

worker.tomcat.lbfactor=1

 

 

# httpd.conf 파일 수정 진행

[captain@localhost native]# sudo vi /etc/httpd/conf/httpd.conf

# 2021.05.03 kyd modify

#DocumentRoot "/var/www/html"

DocumentRoot "/project/admin/WebContent/"

 

# 아래 부분 존재

# 2021.05.03 kyd modify

# <Directory "/var/www">

<Directory "/project/admin/WebContent/">

    AllowOverride None

    # Allow open access:

    Require all granted

</Directory>

 

# selinux 설정 진행

[captain@localhost native]# sudo chcon -R --type=httpd_sys_rw_content_t /faxapp/project/admin/WebContent/

 

# 방화벽 80 TCP Open

[captain@localhost native]# sudo firewall-cmd --permanent --add-port=80/tcp

# apache 서비스 구동
[captain@localhost native]$ sudo systemctl start httpd

 

# Tomcat WAS 서버 [192.168.56.11] AJP 1.3 8009 Port 오픈 처리 진행

[root@localhost native]# firewall-cmd --permanent --add-port=8009/tcp

[root@localhost native]# systemctl restart firewalld

 

 

* 구성 완료 후 WebBrowser에서 http://192.168.56.12/test.jsp 페이지로 직접 접근 테스트를 진행 하였습니다.