2023.08.09 - [프로그래밍 기초] - apache 설치 및 tomcat 과 연동 그리고 에러페이지 설정 (3)
apache 설치 및 tomcat 과 연동 그리고 에러페이지 설정 (3)
2023.08.09 - [프로그래밍 기초] - apache 설치 및 tomcat 과 연동 그리고 에러페이지 설정 (2) apache 설치 및 tomcat 과 연동 그리고 에러페이지 설정 (2) 2023.08.04 - [프로그래밍 기초] - apache 설치 및 tomcat 과
ezpang.tistory.com
이제 로컬에서는 잘되는거 확인했으니까 개발서버에 적용해보도록 하겠음.
그런데 여기서 부턴 각자 개발하는 환경에 따라 다른 부분이 있을 수 도 있으니 참고해서 봐주길 바람.
개발서버에 아직 아파치가 설치되어있지 않다면 [apache 설치 및 tomcat 과 연동 그리고 에러페이지 설정 (1)]에서 하는거랑 똑같이 설치해주면 됨.
1. 개발서버에는 이클립스가 없으니 직접 톰캣 폴더로 가서 아파치와 연결을 해주어야함.
내 경우에는 C 드라이브에 톰캣이 있음.
conf 폴더의 server.xml 파일을 열어서 로컬에서 설정했던 것과 같이 설정해주는데 IP 는 각자 개발서버의 IP 에 맞게 바꿔줘야함.
address 에 각자의 IP 를 넣어주면 됨.
(내 경우 이미 아파치가 설치되어 톰캣과 연결되어있었음. 회사에서 SSL 관련 설정 때문에 이미 세팅이 된 상태였음)
2. 이제 아파치 자체 설정을 해줘야함. 로컬에서 한 것과 비슷함.
SRVROOT 확인하고
mod_jk.so 를 modules 폴더에 넣어 줬으면 모듈을 불러오고
mod_jk.conf 파일을 사용한다고 선언하고 ( 따로 만들어 줘야함. 알제? )
DocumentRoot 경로 확인해주고
503 에러 발생했을 때 503.html 파일 보여줄거라고 선언하고..
이제 mod_jk.conf 파일을 만들어 줘야하는데..(내 경우 이미 만들어져 있었음.)
(workers.properties 도 만들어줘야함. 근데 로컬이랑 똑같이 만들고 host 만 본인 개발서버 IP 로 바꿔주기만 하면됨!)
3. 이미 만들어진 mod_jk.conf 를 봤는데 로컬에서 만들었던거랑 뭔가 다르게 되어있는거 아니겠음?
LoadModule jk_module modules/mod_jk.so
#<IfModule jk_module>
<IfModule mod_jk.c>
JkWorkersFile conf/workers.properties
JkLogFile "|bin/rotatelogs.exe -l logs/mod_jk_%Y%m%d.log 86400"
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkLogLevel info
JkShmFile logs/mod_jk.shm
</IfModule>
다른건 그렇다 쳐도
톰캣에 넘길 요청을 선별하는 JkMount, JkUnMount 명령어가 안보임.
JkUnMount 야 앞으로 추가하면 되는건데 JkMount /* worker1 이라는 명령어도 안보임.
처음엔 난 그런가보다 하고 여기다 JkMount와 JkUnMount 명령어를 추가하고 아파치를 재실행해봤지만 파일을 제대로 찾아오질 못함.
3일을 뒤적거렸나...ㅠㅠ
드디어 범인을 찾게 되었음.
4. 화근은 이전에 SSL 관련해서 세팅한다고 httpd.conf에서 주석을 해제했던 부분이 있던 것이었음!!
범인은 이 두녀석들이었음..
로컬파일과 개발서버 파일을 비교해보니 이 두 라인에 주석이 해제되어있는 것을 발견했음.
한번 까서 보니...
아니나 다를까.. httpd-vhosts.conf 에는 80 포트로 호출 될 시 모든 요청을 톰캣에 넘긴다고 되어있고,
httpd-ssl.conf 파일 역시 443 포트일 경우 모든 요청을 톰캣에 넘긴다고 되어있었음..
백날 mod_jk.conf 에 설정해놔도 안되었다고 생각했던건 mod_jk.conf 에 설정된 내용은 80포트, 즉 SSL 이 적용되지 않은 http 로 접속했을 때만 보여지도록 세팅되고 있었던 것이었음..
정작 접속은 https 로 개발서버에 접속하고 테스트하고있었으니...
암튼!
범인을 발견했으니 httpd-vhosts.conf 와 httpd-ssl.conf 에 JkMount, JkUnMount 코드를 입력해주었음.
필요한 파일들을 htdocs 에 다 넣어주고, 그 파일들은 JkUnMount 명령어를 달아줬더니!
5. 드디어 나온다!
삽질을 3일동안하니까 배운건 많은듯ㅋㅋ
'프로그래밍 기초' 카테고리의 다른 글
apache 설치 및 tomcat 과 연동 그리고 에러페이지 설정 (3) (0) | 2023.08.09 |
---|---|
apache 설치 및 tomcat 과 연동 그리고 에러페이지 설정 (2) (0) | 2023.08.09 |
apache 설치 및 tomcat 과 연동 그리고 에러페이지 설정 (1) (0) | 2023.08.04 |
Base64란? (0) | 2023.01.31 |
API 그리고 REST와 SOAP (0) | 2022.11.28 |
댓글