[Deployment_Tool] 8.Apache+Tomcat
in Deployment on Tool
Apache 설치
아파치는 루트 계정으로 로그인하여 yum 명령어를 이용해서 다운받겠습니다!
한번 아파치를 활성화한 후 구동시켜주겠습니다!
제대로 작동하네요~~!
한번 아파치를 이용해서 jsp파일을 띄워볼까요?
먼저 var/www/html에 hello.jsp 파일을 만들어줍니다!
아파치는 80포트를 이용하기에 포트번호를 생략하여 http:// WAS서버아이피/hello.jsp 로 접근하면 됩니다!
앗! 그런데 1+2 연산이 실행되지 않고 출력되었네요! 아파치는 정적인 기능만 수행하기에 그렇습니다!
Tomcat과 연동이 되면 1+2 연산은 Tomcat에서 실행되고, Apache는 결과값인 3을 웹에 띄울 것입니다!
Apache + Tomcat 연동
Apache와 Tomcat은 AJP(Apache JServ Protocol)로 통신하며, mod_jk, mod_proxy, mod_proxy_ajp 모듈을 사용합니다!
저희는 mod_jk 모듈을 사용해서 연동해보겠습니다!
먼저, 설치해야할 것이 몇가지 있습니다~
- gcc : GNU 컴파일러 모음(GNU Compiler Collection, 줄여서 GCC)는 GNU 프로젝트의 일환으로 개발되어 널리 쓰이고 있는 컴파일러(C 컴파일러)
- gcc-c++: C++ 컴파일러
- httpd-devel: DSO(동적공유객체) 방식에서의 모듈 추가를 위해 설치(./configure …, make install 사용가능)
한꺼번에 다운받아줍니다!
잘 다운받아졌네요!
이제 mod_jk connector를 다운 받아보겠습니다!
다음 사이트 tomcat.apache.org/download-connectors.cgi에 들어가 링크복사를 해줍니다!
그리고 /usr/local/src로 이동하여 다운받아줍니다!
압축파일도 풀어볼까요??
그 다음 압축 푼 폴더의 native 폴더로 이동한 후 gcc 컴파일 할 준비를 합니다!(mod_jk.so install 시켜줄 소스파일 컴파일 준비)
그 다음 make 명령어를 이용해서 컴파일을 합니다!
그럼 mod_jk.so 를 다운받을 수 있는 make 파일이 생성되는데, make install로 mod_jk.so를 받아줍니다!
/etc/httpd/modules에 mod_jk.so 파일이 있으면 제대로 된 것입니다!
make install 과 yum 으로 다운받는 차이점은 make install 은 c로 컴파일 하기에 전체 파일을 메모리에 올려놓습니다! 따라서 yum으로 다운받는 것보다 성능이 우수합니다!
이제 mod_jk.so를 kernel에 등록해줍니다!
커널은 하드웨어와 밀접한 영역인데요~! 자주 사용하는 것을 커널에 넣어놓으면 성능이 향상됩니다!
이제 설치는 끝났습니다~! 그 다음 설정해주어야할 것이 몇 가지 있는데요~!
- vi conf/httpd.conf 설정 : 아파치 대표 설정 파일이며, LoadModule을 mod_jk.so로 추가, DocumentRoot
- vi conf.modules.d/mod_jk.conf 설정 : JkWorkerFile, JkLogfile 등의 위치를 설정하고 JkMount 를 설정
- vi conf/workers.properties 설정 : worker를 등록!
하나씩 해볼까요??
먼저, conf/httpd.conf 에 들어가서 LoadModule을 mod_jk.so로 지정해줍니다! 그 전에 혹시 모르니 conf/httpd.conf 복사본도 만들어놓습니다.
그 다음 conf.moduels.d/mod_jk.conf 를 만들어서 다음 내용을 추가해줍니다!
JkWorkersFile , JkShmFile, JkLogFile, JkLogLevel 파일의 위치를 지정해주고, JkMount 도 설정해줍니다.
JkMount /* worker1 라고 하면, http:// 서버아이피/ 로 접근하면 worker1 이 담당하라는 뜻입니다!
아직 worker1을 안만들어줬죠!
저희는 worker1을 톰캣으로 연결시켜줄 AJP로 설정해줄것입니다!
일단 톰캣과 연결되는 AJP Connector port번호를 조회합니다
8009 네요~ worker1은 conf/workers.properties 에 추가해줍니다
위에서 Ibfactor 은 배분 비율을 정해준다고 생각하시면 됩니다 . 예를 들어 또다른 worker 2가 있을 때 worker1.Ibfactor=1 이고, worker2.Ibfactor=2 이라면, 작업량이 worker1 : worker2 = 1 : 2 로 배분됩니다!
마지막으로 conf/httpd.conf 파일에서 DocumentRoot를 설정해주겠습니다. 디폴트값은 /var/www/ 로 되어 있는데~ 다음 세 곳을 /usr/local/tomcat/webapps/ROOT로 바꾸어줍니다!
드디어 Apache와 tomcat의 연동이 끝났습니다!
다시 test.jsp 파일을 만들어서 테스트해보겠습니다.
와우 jsp 연산이 실행되서 웹 상에서 보여지네요!
정말 힘든 작업이었습니다ㅋㅋㅋㅋ
듣기로는 Apache랑 Tomcat 설정 한 번 해놓으면 다시 만질일은 거의 없다고 하네요!
Apache 제거
이번에는 Apache를 제거해보겠습니다!
일단 Apache가 설치되었나 확인해볼까요?
설치되어있네요!
루트 계정으로 로그인하여 아파치를 일단 중지해주고 삭제해줍니다!
httpd-tools, gcc, gcc-c++ 도 삭제해줍니다!
아파치가 삭제되었네요~! 하지만 끝이아닙니다~!
/etc/httpd 디렉토리도 삭제해줍니다~!