[Deployment_Tool] 8.Apache+Tomcat





Apache 설치



아파치는 루트 계정으로 로그인하여 yum 명령어를 이용해서 다운받겠습니다!


image



한번 아파치를 활성화한 후 구동시켜주겠습니다!


image



제대로 작동하네요~~!

한번 아파치를 이용해서 jsp파일을 띄워볼까요?

먼저 var/www/html에 hello.jsp 파일을 만들어줍니다!


image



아파치는 80포트를 이용하기에 포트번호를 생략하여 http:// WAS서버아이피/hello.jsp 로 접근하면 됩니다!


image



앗! 그런데 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 사용가능)




한꺼번에 다운받아줍니다!


image




image



잘 다운받아졌네요!

이제 mod_jk connector를 다운 받아보겠습니다!

다음 사이트 tomcat.apache.org/download-connectors.cgi에 들어가 링크복사를 해줍니다!


image



그리고 /usr/local/src로 이동하여 다운받아줍니다!


image



압축파일도 풀어볼까요??


image



그 다음 압축 푼 폴더의 native 폴더로 이동한 후 gcc 컴파일 할 준비를 합니다!(mod_jk.so install 시켜줄 소스파일 컴파일 준비)


image



그 다음 make 명령어를 이용해서 컴파일을 합니다!


image



그럼 mod_jk.so 를 다운받을 수 있는 make 파일이 생성되는데, make install로 mod_jk.so를 받아줍니다!


image




/etc/httpd/modules에 mod_jk.so 파일이 있으면 제대로 된 것입니다!


image


image




make install 과 yum 으로 다운받는 차이점은 make install 은 c로 컴파일 하기에 전체 파일을 메모리에 올려놓습니다! 따라서 yum으로 다운받는 것보다 성능이 우수합니다!


이제 mod_jk.so를 kernel에 등록해줍니다!


image




image



커널은 하드웨어와 밀접한 영역인데요~! 자주 사용하는 것을 커널에 넣어놓으면 성능이 향상됩니다!


이제 설치는 끝났습니다~! 그 다음 설정해주어야할 것이 몇 가지 있는데요~!


  • 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 복사본도 만들어놓습니다.


image



image




그 다음 conf.moduels.d/mod_jk.conf 를 만들어서 다음 내용을 추가해줍니다!


image



image




JkWorkersFile , JkShmFile, JkLogFile, JkLogLevel 파일의 위치를 지정해주고, JkMount 도 설정해줍니다.

JkMount /* worker1 라고 하면, http:// 서버아이피/ 로 접근하면 worker1 이 담당하라는 뜻입니다!

아직 worker1을 안만들어줬죠!

저희는 worker1을 톰캣으로 연결시켜줄 AJP로 설정해줄것입니다!

일단 톰캣과 연결되는 AJP Connector port번호를 조회합니다


image




8009 네요~ worker1은 conf/workers.properties 에 추가해줍니다


image



image




위에서 Ibfactor 은 배분 비율을 정해준다고 생각하시면 됩니다 . 예를 들어 또다른 worker 2가 있을 때 worker1.Ibfactor=1 이고, worker2.Ibfactor=2 이라면, 작업량이 worker1 : worker2 = 1 : 2 로 배분됩니다!



마지막으로 conf/httpd.conf 파일에서 DocumentRoot를 설정해주겠습니다. 디폴트값은 /var/www/ 로 되어 있는데~ 다음 세 곳을 /usr/local/tomcat/webapps/ROOT로 바꾸어줍니다!


image



image




드디어 Apache와 tomcat의 연동이 끝났습니다!

다시 test.jsp 파일을 만들어서 테스트해보겠습니다.


image



image



와우 jsp 연산이 실행되서 웹 상에서 보여지네요!


정말 힘든 작업이었습니다ㅋㅋㅋㅋ

듣기로는 Apache랑 Tomcat 설정 한 번 해놓으면 다시 만질일은 거의 없다고 하네요!


Apache 제거



이번에는 Apache를 제거해보겠습니다!

일단 Apache가 설치되었나 확인해볼까요?


image



설치되어있네요!

루트 계정으로 로그인하여 아파치를 일단 중지해주고 삭제해줍니다!


image



httpd-tools, gcc, gcc-c++ 도 삭제해줍니다!


image




image



아파치가 삭제되었네요~! 하지만 끝이아닙니다~!

/etc/httpd 디렉토리도 삭제해줍니다~!


image



그럼 아파치가 완전히 삭제되었습니다!