Mac
[Mac]mod_jk를 이용하여 apache와 tomcat 연결하기
louis.dev
2013. 11. 14. 16:37
tomcat을 실행시키기 위해서는 JRE(Java Runtime Environment)가 필요합니다. JRE를 설치하는 방법은 Oracle에서 JRE를 다운받아 설치하는 방법도 있지만 맥에서는 쉽게 다운로드 받아 설치할수 있습니다.
1. JRE설치
먼저 터미널을 실행시킨 후$ java -version을 실행시켰을 경우 현재 JRE가 설치되어 있다면
java version "1.6.0_51" Java(TM) SE Runtime Environment (build 1.6.0_51-b11-457-11M4509) Java HotSpot(TM) 64-Bit Server VM (build 20.51-b01-457, mixed mode)위와 같이 현재 맥에 설치된 JRE의 버전이 출력될것입니다. 만약 자바가 설치되어 있지 않으면 이렇게 얼럿창이 뜨면서 JRE를 설치하도록 유도하고 있습니다. 여기서 설치를 누르면 손쉽게 JRE를 설치할 수 있습니다.
2. Tomcat 설치
Tomcat은 따로 설치할 필요가 없습니다. 여기에서 tomcat의 압축파일을 다운로드 받은 후 적당한 곳에 압축을 풀어 놓음으로서 설치는 끝나게 됩니다. 혹은 아래 명령어를 터미널에 입력함으로서 쉽게 다운로드 받을 수 있습니다.$ curl -O http://mirror.apache-kr.org/tomcat/tomcat-7/v7.0.42/bin/apache-tomcat-7.0.42.tar.gz $ tar xzvf apache-tomcat-7.0.42.tar.gz $ mv apache-tomcat-7.0.42 ${적당한디렉토리} #톰켓 실행방법 $ 톰켓설치디렉토리/bin/startup.sh #톰켓 종료방법 $ 톰켓설치디렉토리/bin/shutdown.sh
3. JK Connector 컴파일 설치
톰켓 홈페이지에서 JK Connector Source 압축파일을 다운로드 하거나 여기를 눌러 직접 다운로드 하시면 됩니다.$ curl -O http://apache.mirror.cdnetworks.com//tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.37-src.tar.gz $ tar zxf tomcat-connectors-1.2.37-src.tar.gz $ cd ./tomcat-connectors-1.2.37-src/native $ ./configure --with-apxs=/usr/sbin/apxs #설치시 # checking for gcc... /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/usr/bin/cc # checking for C compiler default output file name... configure: error: C compiler cannot create executables # See `config.log' for more details. # 라는 에러가 발생하면 아래의 명령어를 입력합니다. $ sudo ln -s /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain $ make $ sudo make install위와 같은 명령어로 컴파일을 완료하면 /usr/libexec/apache2/mod_jk.so가 생성됩니다. 생성된 모듈을 활성화 하고 설정을 합니다.
$ sudo vi /etc/apache2/httpd.conf # httpd.conf에 아래내용 추가 LoadModule jk_module libexec/apache2/mod_jk.so <IfModule jk_module> JkWorkersFile /etc/apache2/workers.properties JkLogFile ${로그파일위치}/mod_jk.log JkLogLevel info JkMountFile /etc/apache2/uriworkermap.properties </IfModule> $ sudo vi /etc/apache2/workers.properties worker.list=worker1 worker.worker1.port=8009 worker.worker1.host=localhost worker.worker1.type=ajp13 worker.worker1.lbfactor=1 $ sudo vi /etc/apache2/uriworkermap.properties /*.jsp=worker1 /*.krespo=worker1 #만약 context로 설정을 하고자 한다면 /contextName/*=worker1 으로 설정합니다. $ sudo apachectl -t #설정파일 테스트 $ sudo apachectl graceful #graceful로 아파치 재시작
4. tomcat 설정 및 테스트용 context 설정
$ vi ${톰켓 홈 디렉토리}/conf/server.xml # <Connector> 태그의 속성으로 URIEncoding="UTF-8"을 추가합니다. # 이렇게 설정해야지 parameter로 한글을 전송할때 파라미터가 깨지지 않습니다. <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" /> $ vi ${톰켓 홈 디렉토리}/conf/Catalina/localhost/ROOT.xml # path = localhost:8080/test # docBase = 아파치의 documentRoot <Context path="/" docBase="/data/service/tomcat" reloadable="false" privileged="true" antiResourceLocking="false" antiJARLocking="false" allowLinking="true"> </Context> # 저장후 서버 재시작이상으로 mod_jk 설정을 완료하였습니다.