2014년 2월 18일 화요일

Mac Mavericks 아파치 + 톰캣 연동

* 사용버전 : Tomcat 7, Apache Mac Built-in 
  1. Xcode 설치 혹은 업데이트
    1. Terminal 실행
    2. "xcode-select —install” 실행
    3. 아래의 팝업창에서 “설치” 버튼 클릭
    4. 심볼릭 링크 생성 : sudo ln -s /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain \ /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain
  2. APR 설치(Apache Portable Runtime)
    1. 다운로드 : http://apr.apache.org/download.cgi
    2. 컴파일 및 설치
    3. ./configure --prefix=/usr/local/apr CFLAGS='-arch x86_64’
    4. make
    5. make test
    6. sudo make install
  3. mod_jk.so 생성
    1. 다운로드 : http://tomcat.apache.org/download-connectors.cgi
    2. 컴파일 전 다운 받은 tomcat-connectors 소스 수정
    3. ./native/common/jk_map.c 수정
    4. 위 파일의 198줄에 strcpy(buf, rc); => memmove(buf, c, len + 1); 로 수정
    5. ./configure --with-apxs=/usr/sbin/apxs CFLAGS='-arch x86_64' APXSLDFLAGS='-arch x86_64’
    6. make
    7. sudo make install
    8. /usr/libexec/apache2/mod_jk.so 파일 생성여부확인
  4. /etc/apache2/httpd.conf 파일 수정 (아래의 내용 추가)
    1. LoadModule    jk_module  libexec/apache2/mod_jk.so
      JkWorkersFile /etc/apache2/workers.properties
      JkLogFile     /etc/apache2/logs/mod_jk.log
      JkLogLevel    info  <== 로그 레벨은 적절히
      JkLogStampFormat "[%a %b %d %H:%M:%S %Y] “
    2. workers.properties 파일 생성(아래의 내용을 추가하되 환경에 맞게 수정)
    3. 아래의 내용은 8009, 8010 즉, 톰캣 설정을 관례에 의해 설정 했다면, 8080, 8081 두 개의 톰캣 WAS에 Load Balance를 설정한 예이다.
    4. worker.list=jvm1
      worker.jvm1.type=ajp13
      worker.jvm1.host=localhost
      worker.jvm1.port=8009
      worker.jvm1.lbfactor=20
      worker.jvm2.type=ajp13
      worker.jvm2.host=localhost
      worker.jvm2.port=8010
      worker.jvm2.lbfactor=20
      worker.jvm3.type=lb
      worker.jvm3.balance_workers=jvm1, jvm2

  5. /exc/apache2/extra/httpd-vhost.conf 설정
    1. /etc/apache/httpd.conf 수정 
      1. 478줄 주석 제거 =>  Include /private/etc/apache2/extra/httpd-vhosts.conf
    2. /etc/apache2/extra/httpd-vhost.conf : 아래의 내용 추가
      <VirtualHost *:80>
      ServerAdmin account@yourdomain
      DocumentRoot “TomcatWebApplicatoinServiceDocument"
      ServerName yourdomain
      JkMount /yourtomcatservicecontext/* jvm1 <== jvm1은 workers.properties에 등록된 값
      <Directory "TomcatWebApplicatoinServiceDocument">
      Options Indexes FollowSymLinks
      AllowOverride None
      Order allow,deny
      Allow from all
      </Directory>
      </VirtualHost>
      • 주의사항 위 등록된 “TomcatWebApplicatoinServiceDocument” 디렉터리의 권한 설정확인 “rx” 권한 필수.

  6. sudo apachectl start
~~~~ 끝 ~~~~

댓글 없음: