2023.08.04 - [프로그래밍 기초] - apache 설치 및 tomcat 과 연동 그리고 에러페이지 설정 (1)
apache 설치 및 tomcat 과 연동 그리고 에러페이지 설정 (1)
고객이 운영 서버 반영할 때 잠깐이라도 톰캣이 내려가 있는동안 사용자가 들어왔을때 에러페이지가 보여지면 안된다고 한다.. 톰캣 내렸다 올리는게 10초도 안걸리지만.. 그래도 맞는 말이긴
ezpang.tistory.com
이번엔 아파치랑 톰캣이랑 연결하겠음.
1. 저번에 다운받았던 mod_jk-1.2.48.....zip 파일의 압축을 해제하면
이렇게 되는데
우리가 필요한건 mod_jk.so 파일임
이 친구를 저번에 설치까지 완료한 아파치 폴더로 이동시켜줘야함.
2. mod_jk.so 파일을 복사해서
본인이 설치파 아파치 경로에 modules 폴더에 붙여넣기 해주면됨
3. mod_jk.so 라는 모듈이 생겼으니 사용하려면 소스에 추가해줘야함
저번에 말했던 대로 httpd.conf 파일은 나무의 기둥 역할을 한 댔음.
conf 폴더의 httpd.conf 파일을 열어서 내리다보면
LoadModule 이라는 명령어가 쭉 작성되어있는 구간이 있음.
대부분 # 이 붙어있을 텐데, 이건 다 주석임.
나중에 필요하면 주석을 해제해서 사용하는건데.. 뭐가 뭔지는 상황에 따라 찾아보면서 해야할듯.. 너무많음
암튼!
그 구간 맨 하단에 mod_jk.so 모듈을 사용하겠다는 명령어를 추가해야함
LoadModule jk_module modules/mod_jk.so
<IfModule jk_module>
Include conf/mod_jk.conf
</IfModule>
라는 명령어를 추가해줌.
if 가 붙어있는걸로 봐선 jk_module 이라는 게 있으면 conf 폴더의 mod_jk.conf 파일을 아파치 구동시 설정파일로 활용하겠다는 것임.
계속 말했듯 httpd.conf 는 기둥임. 그럼 mod_jk.conf 는 뭐다? 가지이다~
근데 conf 폴더에 mod_jk.conf 파일이 없음. 그럼 만들어야지 뭐..
4. 일단 메모장이나 텍스트 에디터를 열어서
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkMount /* worker1
이렇게 작성해주면 아주 기본적인 것만 설정하게 된 것임.
JkWorkersFile 명령어는 worker 를 설정하는 건데 일종의 로드밸런서라고 생각하면 됨. workers.properties는 새로 만들어야하는데 뒤에서 만들면서 추가설명하겠음.
JkLogFile 명령어는 아파치가 실행될 때 생길 로그들을 저장할 위치와 그 파일의 이름을 설정해줌.
로그 파일을 좀더 상세히 날짜별로 정리하고 싶을 땐 아래 코드로 교체해주면됨.
JkLogFile "|bin/rotatelogs.exe -l logs/mod_jk_%Y%m%d.log 86400"
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkMount 명령어는 worker.properties 파일을 만들면서 같이 설명하겠음.
작성이 끝났다면 conf 폴더 하위에 저장해주면 됨.
5. 이어서 workers.properties 를 만들어 줘야함. 마찬가지로 메모장이나 텍스트 에디터로 작성하면됨.
worker.list=worker1
worker.worker1.port=8009
worker.worker1.host=127.0.0.1
worker.worker1.type=ajp13
이렇게 작성해주면 되는데.
worker 란 로드밸런서 역할이라고 생각하면됨.
쉽게 생각해서 아파치 1개를 사용해도 톰캣은 여러개 연결시킬 수 있는거라고 생각하면 됨.
mod_jk.conf 에 작성한
JkMount /* worker1
이 명령어는 사용자가 아파치에 요청한 모든(/*) 요청은 worker1 의 톰캣으로 넘기겠다는 의미임.
파일이름이 어떻든, 파일형식이 어떻든, .do 등의 요청이든 간에 모조리 톰캣에 넘기게 됨.
만약 특정 요청은 톰캣에 넘기고 싶지 않다면
JkUnMount /index.html worker1
JkUnMount 명령어로 제외시키면 됨.
사용자가 index.html 을 요청하게 되면 worker1 이라는 톰캣에 처리요청을 넘기지 않음.
이걸 활용해서 톰캣이 내려가 있을 때 요청이 들어오면 아파치에서 특정화면을 보여주게 할 것임. 다음 글에 이어서!
일단 여기까지 아파치쪽 설정은 됬고 이제 톰캣쪽 설정을 해야함.
6. 톰캣의 server.xml 을 열고
이랬던 소스를
이렇게 바꿔주면됨.
<Connector protocol="AJP/1.3"
address="127.0.0.1"
port="8009"
redirectPort="8443" secretRequired="false" URIEncoding="UTF-8"/>
이렇게 하면 톰캣이랑 아파치랑 연결까지 된것.
이제 테스트
7. 아파치 먼저 켜고
톰캣도 켜고
브라우저에서 http:localhost 로 접속하여 잘들어가진다면 성공.
다음글은 톰캣이 죽었을때 보여질 화면을 아파치에 설정하는 방법임.
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 과 연동 그리고 에러페이지 설정 (4) (0) | 2023.08.09 |
---|---|
apache 설치 및 tomcat 과 연동 그리고 에러페이지 설정 (3) (0) | 2023.08.09 |
apache 설치 및 tomcat 과 연동 그리고 에러페이지 설정 (1) (0) | 2023.08.04 |
Base64란? (0) | 2023.01.31 |
API 그리고 REST와 SOAP (0) | 2022.11.28 |
댓글