※ 주의사항 ※
본 블로그는 수업 내용을 바탕으로 제가 이해한 부분을 정리한 블로그입니다.
본 내용을 참고로만 보시고, 틀린 부분이 있다면 지적 부탁드립니다!
감사합니다😁
아파치와 톰캣 연동
안녕하세요!!
오늘은 지난시간에 배운 정적인 데이터를 처리하는 웹서버인 아파치(Apache)와 동적인 데이터를 처리하는 웹서버인 톰캣(Tomcat)을 연동하는 방법을 알아보겠습니다.
대략적으로 설명을 하면 웹 서버로 사용자가 요청을 보내면 제일 먼저 아파치로 넘어가서 톰캣으로 동적인 데이터만 넘겨준다고 합니다. 정적인 데이터는 본인(아파치)이 처리 합니다.
따라서 사용자는 포트번호(8080)를 사용하지 않고 일반적으로 LocalHost ip 주소만 입력을 하면 동적인 웹 서버인 톰캣까지 사용할 수있습니다. → 연동을 하는 이유!!!
(아파치의 포트번호는 80이지만 Default값이기에 포트번호를 입력하지 않아도 됩니다 ^^)
1. 아파치와 톰캣 연동하기!
1-1. mod_jk.so 다운 및 설치
✔ 아래의 경로에서 mod_jk를 다운받습니다(x64)
https://www.apachelounge.com/download/
✔ [Apache_HOME] / modules 디렉토리 안에 해당 파일 저장
✔ [Apache_HOME] / conf 디렉토리에 "workers.properties" 파일 생성 및 내용 추가
AJP(Apache Jserver Protocol)
ajp13 및 Port 8009는 톰캣과 아파치 연동과 관련된 내용에 해당합니다.
(한번만 하고 넘어가는 스텝이기 때문에 자세한 내용은 Skip)
1-2. httpd.conf 및 httpd-vhosts.conf 파일 수정
✔ [Apache_HOME] / conf / httpd.conf 파일 내에 아래의 내용 추가
# mod_jk 모듈 설정
LoadModule jk_module modules/mod_jk.so
JkworkersFile conf/workers.properties
JkMount /* study
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] “
JkRequestLogFormat "%w %V %T“
위에서 연동하기 위해 설치해두었던 modules 폴더 내의 라이브러리를 찾아서 연결하라는 내용
✔ [Apache_HOME] / conf / extra / httpd-vhost.conf 파일 내에 아래의 내용 추가
<VirtualHost *:8009>
ServerAdmin admin
DocumentRoot "C:[프로젝트 디렉토리]"
ErrorLog "logs/example-project-error.log"
CustomLog "logs/example-project-access.log"
</VirtualHost>
큰 따옴표는 다시 입력하고, 역슬래시는 슬래시로 변경!! → ppt에서 코드를 복붙할때 주의 해야 할 사항!
※ 가상 호스트(VirtualHost)
동일한 서버 내에 여러 도메인을 가진 웹 서버를 구축해서 서비스 할 때 사용한다.(IIS 등 다른 웹 서버에서도 사용되는 개념)
여기서는 연동하기 위한 포트번호인 8009를 가상 호스트로 지정하는 과정으로 생각이 됩니다.
1-3. 연동 확인!
✔ 아파치와 톰캣 모두 실행
아파치와 톰캣 실행방법은 위의 명령프롬프트의 명령어를 확인해주세요. 설치파일이 설치되어있지 않다면 지난 글을 참고 바랍니다 ^^;
✔ 웹 브라우저의 주소창에 LocalHost ip주소와 WebServlet 주소 입력
지난번에는 hellojava의 서블릿 테스트 예제를 웹 브라우저에서 실행하기 위해서는 톰캣의 포트번호까지 입력해주었는데 연동하고 나서는 포트번호를 생략해도 정상적으로 열리는것이 확인 됐습니다.
연동 전 주소 : 127.0.0.1:8080/hellojava
연동 후 주소 : 127.0.0.1/hellojava
댓글