2016년 8월 9일 화요일

아파치, 톰캣설치

리눅스 우분투 아파치 톰캣 연동하기

오늘은 아파치를 설치하고 톰캣과 연동해 보려고 한다.
연동해 보기 전에 아파치와 톰캣을 연동하는 이유는 뭘까?

톰캣은 정적인 페이지를 로드하기에 아파치 보다 느린 처리속도를 보인다.
톰캣은 설정할 수 있는 내용들이 아파치에 비해 부족하다.
톰캣은 아파치보다 부하에 약하다.
톰캣만으로는 서블릿/JSP밖에 서비스할 수 없다.
톰캣과 아파치를 연동하여 부하분담이 가능하다.(다수의 톰캣 구성으로의 로드밸런싱의 의미가 아닌 톰캣만으로 처리가능한 static page를 apache에서 대신함으로써의 부하 분담)


개발할때는 톰캣하나로만 돌려서 상관없을 것 같고 실제 운영할 때는 아파치와 톰캣을 연동하는게 성능이나 퍼포먼스를 향상시켜준다.

이제 아파치 톰캣을 연동해 보겠다.

1. 아파치 설치

apt-get install apache2


apache2 설치는 apt-get 패키지로 설치한다.
저 한줄만 입력하면 설치가 끝난다. 정말로 간단하다.







2. mod_jk 설치

apt-get install libapache2-mod-jk


mod_jk모듈은 톰캣과 아파치를 연결시켜주는 모듈이다.
이 모듈도 apt-get 명령어로 설치한다.



3. mod_jk 설정

vi /etc/libapache2-mod-jk/workers.properties

// 톰캣이 설치되어 있는 경로
workers.tomcat_home=/usr/local/tomcat8

// 자바가 설치되어 있는 경로
workers.java_home=/usr/local/java

// 사용할 worker의 이름을 셋팅한다.
// 아파치에 톰캣을 하나 이상 연결할 때는 woker.list=prj1,prj2 이런식으로 설정하면 된다.
// 그냥 기본으로 설정으로 셋팅
worker.list=ajp13_worker

// 각각의 worker list별로 설정.
// 여기서 포트는 톰캣에 설정되어 있는 ajp port를 적어준다.
worker.ajp13_worker.port=8009
worker.ajp13_worker.host=localhost
worker.ajp13_worker.type=ajp13
worker.ajp13_worker.lbfactor=1


위에서 바꿔준 부분은 tomcat과 java 설치 경로만 바꿔주고 나머지는 default셋팅 그대로 두었다. 각자 상황에 맞게 설정하자.





4. 톰캣 설정

vi /usr/local/tomcat8/conf/server.xml

// 혹시 이부분이 주석처리 되어 있다면 주석을 제거한다. 위에서 worker.properties 파일에서 지정한 port번호이다.
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />


// docBase는 톰캣에 올릴 프로젝트 경로, path는 도메인/path명이 된다.
// docBase를 지정하지 않으면 기본적으로 톰캣의 디폴트 디렉토리가 설정된다.

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
    <Context  path="/" reloadable="true" />
    ......
</Host>


톰캣과 커넥터를 연결하기 위한 설정이다.
http://localhost/path 경로로 접근시에 apache에서 tomcat으로 docBase에 설정된 경로로 연결을 해준다.
docBase설정을 하지 않을경우 기본적으로 톰캣 설치 경로의 webapps의 ROOT폴더를 바라본다.

5. 아파치 설정

vi /etc/apache2/sites-enabled/000-default.conf
ServerAdmin webmaster@localhost
DocumentRoot /usr/local/tomcat8/webapps/ROOT
ServerName monchertongtong.com      // 설정된 도메인
ServerAlias www.monchertongtong.com

JkMount /* ajp13_worker
JkMount / ajp13_worker


설정들이 많이 되어 있을텐데 제일 아래 부분쯤에 위와 같이 JkMount를 추가해 준다.
http://ip/PATH경로로 시작하는 주소는 모두 커넥터 설정에서 지정한 WORKER_LIST로 연결을 해준다.





6. 아파치, 톰캣 재시작

service apache2 restart
cd /usr/local/tomcat8/bin
./shutdown.sh
./startup.sh


7. 브라우저 확인






주소 입력창을 보면 8080port가 빠져있다. 아파치 톰캣 연동 성공했다.







물론 8080port를 붙인 주소로도 접속이 가능하다.
다음번에는 프로젝트 하나 다운받아서 톰캣에 올려보도록 하겠다.

댓글 없음:

댓글 쓰기