본문 바로가기
개발 환경 및 오류

아파치(Apache)와 톰캣(Tomcat) 연동

by 노랑파랑 2017. 1. 6.
반응형

 

 

연동 이유

▷Apache(아파치) : 정적 콘텐츠(html, img 등) 처리, 웹 서버

▷Tomcat(톰캣) : 동적 콘텐츠(Jsp, Java 등) 처리, 웹 어플리케이션 서버

▷톰캣은 정적인 파일을 로드하는 속도가 아파치보다 느리다.

▷톰캣만으로는 JSP, Servlet만을 서비스 할 수 있다.

▷연동으로 부하 분담.

▷하지만 현재 톰캣은 특정 모듈로 정적 페이지를 처리하기 대문에 속도 문제는 큰 의미가 없어 지금은 Java업무(톰캣), 확장(아파치)의 업무 분담으로 연동하여 사용하는 듯 하다.

 

 

 

 

 

1. Tomcat Connector 도구 설치

sudo yum install httpd-devel gcc gcc-c++

 

 

2. JDK 설치 ( 이미 설치 시 패스 )

a. 설치 가능한 JDK 확인

yum list |grep ^java

 

b. 최상위 

openjdk-devel (JDK) 

설치

※openjdk = JRE

sudo yum install 

java-1.8.0-openjdk-devel.x68_6



3. Tomcat 홈페이지에서 Tomcat Connector 다운로드 주소 복사 (오른쪽 클릭 -> 링크 주소 복사) 

 

 

 

 

4. wget으로 해당 파일 다운로드

wget http://mirror.navercorp.com/apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.42-src.tar.gz

 

 

5. 압축을 풀고 Tomcat 폴더로 이동 (폴더 정리 겸)

sudo tar -xzf tomcat-connectors-1.2.42-src.tar.gz

mv [옮길 파일] [옮길 위치]

 

6. Tomcat Connector 디렉토리의 native 디렉토리로 이동 후 설치

cd /tomcat-connectors-1.2.42-src/native

./configure --with-apxs=/usr/bin/apxs

sudo make && make install

 

7. workers.properties 파일 생성 후 아파치로 수신한 내용을 톰캣으로 전달 할 수 있도록 내용 추가

cd /etc/httpd/conf 

sudo vi workers.properties

 

worker.list=ajp13                      worker.ajp13.port=8009             worker.ajp13.host=localhost         worker.ajp13.type=ajp13          



8. mod_jk.conf 파일도 생성

sudo vi mod_jk.conf

 

톰캣폴더 -> 각자 톰캣 폴더 위치 또는 링크

<IfModule mod_jk.c>

        JkWorkersFile "/etc/httpd/conf/workers.properties"

        JkLogFile "톰캣폴더/logs/mod_jk.log"

        JkLogLevel info

        JkAutoAlias "톰캣폴더/webapps"

        JkMount /* ajp13

        JkMount /*.jsp ajp13

        JkMount /servlet/* ajp13

        JkMount /examples/*.jsp ajp13

        JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

        JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

        JkRequestLogFormat "%w %V %T"

</IfModule>

 

 

9. httpd.conf 파일 수정

sudo vi httpd.conf

 

Include conf .modules.d/* .conf 아래에 LoadModule jk_module modules/mod_jk.so 추가

 

#ServerName 주석 제거 후 서버 주소 입력 맨 마지막 줄에 Include conf/mod_jk.conf 추가

 

 

 

10. SELinux 끄기

sudo vi /etc/sysconfig/selinux

 

SELINUX=enforcing  -> disabled로 수정

 

 

 

 

11. 끝! 포트번호를 안써도 톰캣 화면이 나온다.

 

반응형

'개발 환경 및 오류' 카테고리의 다른 글

ftp와 sftp  (0) 2017.01.08
AWS : Elastic Beanstalk  (0) 2017.01.06
AWS : RDS DB 인스턴스 연결 오류  (0) 2017.01.05
No package MariaDB-server available.  (0) 2017.01.05
AWS : LAMP 웹 서버 설치  (0) 2017.01.04