I/T/Web2009.02.22 17:33
이번에는 Apache와 Apache Tomcat의 연동입니다.
우선 이 글은 이전 제 블로그인 http://blog.naver.com/soul0428 에 썼던 글을 버젼에 따라 업그레이드 된 글임을 말씀드립니다.

1. Web Server의 이해
우선 Web Server는 Web 서비스를 제공하기 위한 서버이죠. 아래 그림은 제가 파워포인트로 대충 그려보았는데.. 저 또한 학생이기 때문에 정확하다고 말씀은 못 드리겠습니다. 단지 간단하게 이해하는 정도로 봐주시면 되겠습니다.
그림에서 보시는 것과 같이 Web Server에는 크게 Apache, Apache Tomcat, IIS가 있습니다. 이는 우리가 쉽게 접할 수 있는 서버를 말씀드리는 것이고, Weblogic 같은 서버들도 있습니다. 저도 말씀드린 4개의 서버 이외에는 사용해 본적이 없어서..^^;
각각의 Web Server는 지원하는 언어가 다르죠.
Apache와 Apache Tomcat을 연동하는 이유중 하나가 바로 두 개의 언어(PHP, JSP)를 동시에 지원하게 해주기 위해서 입니다.


2. 연동전과 연동후의 모습
우선 연동전의 모습은 아래와 같습니다.
Apache는 http://localhost 또는 http://localhost:80 으로 접속을 하게되고,
Apache Tomcat은 http://localhost:8080 으로 접속을 하게 됩니다.

하지만 연동후에는 아래와 같은 형태가 되는데 http://localhost 로 접속을 하게 되면 이후에 나오는 파일의 확장자를 판단하게 됩니다. 만약 test.html 파일을 열게되면 Apache에서 처리를 하게 되죠. test.php파일 역시 Apache에서 처리를 하게 됩니다. 그리고 test.jsp라는 파일을 열게되면 우선 Apache가 처리를 하게 되는데, Apache는 JSP를 처리할 수 있는 능력이 없기 때문에 Apache Tomcat에게 넘겨주게 됩니다.
이렇게 함으로써 얻을 수 있는 이익이면서 동시에 우리가 연동을 하는 이유는 다음과 같습니다.
우리가 JSP를 이용하여 홈페이지를 만든다고 해도 그 홈페이지 안에 모든 파일이 JSP일 필요는 없습니다. 다시 말해서 일반적인 html 태그만을 이용한 페이지도 있을 수 있다는 얘기이지요. 연동을 하게 되면 이런 일반적인 html 파일은 Apache가 처리하고, jsp파일은 Apache Tomcat이 처리하게 되면서 일을 분담할 수 있게되고, 따라서 속도도 빨라지게 됩니다.
하지만 Apache Tomcat의 버젼업에 따라 성능이 좋아지면서 굳이 이렇게 하지 않아도 빠르다고들 하더군요...
저도 자세한건 모르겠지만 아무튼 이렇다고 합니다.^^;


3. Apache 설치
아래 링크를 참고하세요.
[WAS] Apache + PHP 설치


4. Apache Tomcat 설치
아래 링크를 참고하세요.
[WAS] Apache Tomcat 설치


5. Tomcat Connector 설치
위 3,4번에서 Apache와 Apache Tomcat을 설치하였으면 이제 Connector을 설치해서 연동을 해 주어야 합니다.
http://tomcat.apache.org/connectors-doc/ 이 주소로 들어가시면 아래와 같은 화면이 뜨는데, JK-1.2.27에서 binaries 버젼을 다운받으세요.

win32 환경이기 때문에 클릭해서 들어가시고,

jk-1.2.27 폴더안에 들어갑니다.

아래와 같이 여러 파일들이 나오는데, "mod_jk-1.2.27-httpd-2.2.10.so" 파일을 다운 받으시면 되겠습니다.

이때 다운 받는 폴더는 Apache 홈의 modules 폴더로 해주시고, 파일명은 mod_jk.so로 변경해 주세요.

그 다음에 conf 폴더안에 들어가서 "workers.properties" 파일을 생성해줍니다.

그 파일내용은 아래와 같습니다.

다음은 conf폴더안에 있는 httpd.conf파일을 수정해 주셔야 됩니다. 우선 DocumentRoot를 변경해 보겠습니다. 이제 두 서버가 같은 root를 사용해야 되기 때문에 기존의 Apache의 root인 "C:/WebServices/Apache2.2/htdocs"를 Apache Tomcat의 root인 "C:/WebServices/Apache2.2/htdocs"로 변경을 해 줍니다.

그리고 폴더에 대한 접근권한을 설정해 주어야 합니다. 이 역시 이전에 설정되어 있던 부분(# 주석처리 부분)을 변경해 주었습니다.

다음으로는 httpd.conf파일의 가장 마지막 부분에 아래 코드를 추가하시면 됩니다.


이제 환경설정을 변경하였으니 Apache를 재시작 해주셔야 됩니다.

재시작하신 후 닫아다가 다시 열면 상태표시줄에 mod_jk가 로드되었다고 뜹니다.

이제 8080을 뺀 http://localhost/test.jsp 페이지를 열어보시면 아래와 같이 제대로 출력되는 걸 확인하실 수 있습니다.

이제 이전에 만들어 두었던 test.php파일을 Apache Tomcat의 root 폴더로 복사한 후 확인해 보겠습니다.

역시 잘 열리는군요.^^

이렇게 해서 두 개의 언어를 지원하도록 연동이 완료되었습니다.

'I/T > Web' 카테고리의 다른 글

[I/T>Web] JSP + MySql (JDBC)  (2) 2009.03.14
[I/T>Web] Apache Tomcat 에서 Context Path 설정  (0) 2009.03.14
[I/T>Web] PHP + MySql  (0) 2009.02.27
[I/T>Web] Apache, Apache Tomcat 연동  (0) 2009.02.22
[I/T>Web] Apache Tomcat 설치  (0) 2009.02.22
[I/T>Web] Apache + PHP 설치  (4) 2009.02.21
Posted by 황타

티스토리 툴바