yum 명령어를 이용한 Apache 자동 설치 + Tomcat 연동(mod_jk)
1. Apache 와 Tomcat 을 연동하는 이유?
Apache 는 외부에서 HTTP프로토콜의 호출이 오면 설정에 따라 웹 페이지를 전송.
단순 이미지 파일이나 정적 데이터를 처리 하기에 최적화
그러나 JSP/PHP 같은 동적페이지 처리에는 TOMCAT 이 적합
2. Apache 설치
환경에 따라 Apache Web Server 가 이미 설치 되어있을 수 있음
자동설치의 경우 root 계정으로 진행
2.1 설치 확인
$ yum list installed | grep httpd
yum 명령어가 동작하지 않을 경우
$ ping 8.8.8.8
응답이 정상적으로 올경우
$ vi /etc/resolv.conf
#resolv.conf
...
nameserver 8.8.8.8
설정 저장 후 다시 시도
2.2 설치
$ yum install httpd
- 설치 경로는 /etc/httpd 입니다.
2.3 방화벽 설정 ( CentOs 7 기준 )
설치 OS 종류에 따라 방화벽 설정이 다를 수 있습니다. OS 정보를 확인하세요.
$ firewall-cmd --permanent --add-service=http
$ firewall-cmd --permanent --add-service=https
$ firewall-cmd --reload
2.4 서비스 등록 및 시작
$ systemctl enable httpd
$ systemctl start httpd
- http://아이피 로 접속해서 확인
3. Apache + Tomcat 연동
3.1 Tomcat Connector 설치
Tomcat-Connector 최선버전 다운로드
로컬에 다운로드 받고 FTP로 서버에 업로드 하거나, 다운로드 링크를 복사해서 서버에서 바로 다운로드 받아도된다.
해당 가이드는 서버에서 직접 다운로드 받는 방법을 사용
$ yum install gcc gcc-c++
$ wget http://apache.tt.co.kr/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz
$ tar zxvf tomcat-connectors-1.2.46-src.tar.gz
$ cd tomcat-connectors-1.2.46-src/native/
$ ./configure --with-apxs=/bin/apxs
/bin 또는 /sbin 하위에 'apxs'파일이 존재하지 않을 경우 apache-devel 패키지 설치가 안된것으로 설치 후 다시 실행
$ yum install httpd-devel
$ which apxs <-- 파일 존재 확인
$ make
$ make install
Redhat 의 경우 오류날 경우
$ yum install make
$ dnf install redhat-rpm-config
3.2 Apache 설정파일 수정
$ vi /etc/httpd/conf/httpd.conf
/LoadModule <-- 해당 단어 검색후 뒤에 아래 내용 추가
## -----------------------------------------
LoadModule jk_module modules/mod_jk.so
<IfModule jk_module>
JkWorkersFile /etc/httpd/conf/workers.properties
JkLogFile /etc/httpd/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
# 모든 요청을 woker loadbalancer 로 연결
JkMount /* loadbalancer
</IfModule>
## -----------------------------------------
설정내용은 WEB1-WAS1 / WEB2-WAS2 구성의 예로 작성되어 있으며 각 프로젝트 환경에 맞는 설정으로 수정 후 적용
3.2.1 이중화 구성시
$ vi /etc/httpd/conf/workers.properties
worker.list=loadbalancer
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=worker1,worker2
#worker.loadbalancer.balanced_workers=worker2
worker.loadbalancer.sticky_session=1
worker.worker1.type=ajp13
worker.worker1.host=192.168.106.69
worker.worker1.port=8010
worker.worker1.lbfactor=1
worker.worker2.type=ajp13
worker.worker2.host=192.168.106.70
worker.worker2.port=8010
worker.worker2.lbfactor=1
type과 port 속성은 Tomcat의 server.xml 설정을 참조합니다.
3.4 Tomcat 설정 참조!
3.2.2 WEB1-WAS1 설정 참조(단일구성/단일테스트시)
$ vi /etc/httpd/conf/workers.properties
worker.list=loadbalancer
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=worker1
worker.loadbalancer.sticky_session=1
worker.worker1.type=ajp13
worker.worker1.host=192.168.106.69
worker.worker1.port=8010
worker.worker1.lbfactor=1
3.2.3 WEB2-WAS2 설정 참조(단일구성/단일테스트시)
$ vi /etc/httpd/conf/workers.properties
worker.list=loadbalancer
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=worker2
worker.loadbalancer.sticky_session=1
worker.worker2.type=ajp13
worker.worker2.host=192.168.106.70
worker.worker2.port=8010
worker.worker2.lbfactor=1
3.3 Apache 재시작
$systemctl restart httpd
아래와 같은 에러발생시
SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
(13)Permission denied: mod_jk: could not open JkLog file /etc/httpd/mod_jk.log
AH00016: Configuration Failed
$ setenforce 0. <--- Selinux 중지
$ vi /etc/sysconfig/selinux <-- 서버 재시작시에도 사용안함 설정
..
SELINUX=disabled
..
3.4 Tomcat-server.xml 설정
AJP 설정 부분 주석 해제하고 Tomcat8.5 이상 버전일 경우 secretRequired="false" 속성을 추가
workers.properties 에서 설정한 포트와 같은 포트값으로 적용
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector protocol="AJP/1.3"
address="0.0.0.0"
port="8010"
secretRequired="false"
redirectPort="8443" />
..
..
<Context path="" docBase="/APP/jiniworks_cms" debug="0" reloadable="false" URIEncoding="utf-8" />
Tomcat 재시작 후 웹서버 IP로 확인
반응형
'Dev ::' 카테고리의 다른 글
mod_ssl 을 이용한 SSL 설치 가이드( * 경로는 Apache 자동설치 기준 ) (0) | 2021.12.24 |
---|---|
Apache 수동설치 + Tomcat 연동(mod_jk) (2) | 2021.12.23 |
[OpenSSL] MacBook OpenSSL 설치하고 적용 / Tomcat OpenSSL 적용하기 :: (0) | 2019.04.26 |
[Naver] 네이버 아이디로 로그인(네아로) Client ID & Client Secret 발급받기 :: (0) | 2019.04.26 |
[SVN] SVN Lock 해제하기 :: (0) | 2019.04.25 |
댓글