2015年2月12日 星期四

Apache2.4 + multi Tomcat8 + mod_jk(binary) on ubuntu14.10

Apache2.4安裝教學Tomcat8安裝教學

軟體準備

一、下載及安裝
sudo wget http://apache.stu.edu.tw/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.40-src.tar.gz
sudo tar xvzf tomcat-connectors-1.2.40-src.tar.gz
cd tomcat-connectors-1.2.40-src/native
sudo ./buildconf.sh
sudo ./configure --with-apxs=/usr/local/apache2/bin/apxs
sudo make
sudo make install
查看 /usr/local/apache2/modules/ 是否有mod_jk.so
ls -al /usr/local/apache2/modules/

二、mod_jk與Apache2設定
sudo vim /usr/local/apache2/conf/workers.properties
內容新增如下:
worker.list=DLOG4J,DLOG4J1, status
worker.DLOG4J.type=lb
worker.DLOG4J.sticky_session=1
worker.DLOG4J.error_escalation_time=0
worker.DLOG4J.max_reply_timeouts=10
worker.DLOG4J1.type=lb
worker.DLOG4J1.sticky_session=1
worker.DLOG4J1.error_escalation_time=0
worker.DLOG4J1.max_reply_timeouts=10

worker.s1.reference=worker.template
worker.s1.port=8009
worker.s1.host=localhost
worker.s1.lbfactor=5
worker.s2.reference=worker.template
worker.s2.port=8010
worker.s2.host=localhost
worker.s2.lbfactor=5

worker.template.type=ajp13                    
worker.template.socket_connect_timeout=5000
worker.template.socket_keepalive=true
worker.template.ping_mode=A
worker.template.ping_timeout=10000
worker.template.connection_pool_minsize=0
worker.template.connection_pool_timeout=600
worker.template.reply_timeout=300000
worker.template.recovery_options=3

worker.retries=3
worker.DLOG4J.balanced_workers= s1
worker.DLOG4J1.balanced_workers= s2

worker.status.type=status
worker.s1.port=8009 這一個port請看你tomcat/conf/server.xml的AJP port
sudo vim /usr/local/apache2/conf/httpd.conf
內容新增如下:
...
#LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
#LoadModule rewrite_module modules/mod_rewrite.so

#這邊新增
LoadModule jk_module modules/mod_jk.so

JkWorkersFile conf/workers.properties
JkLogFile     /var/log/mod_jk.log
JkLogLevel    info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /private/admin/status status
JkMount /test/* DLOG4J
JkMount /test1/* DLOG4J1
請在tomcat webapps裡面新增test資料夾,在寫一支index.jsp,看是否用80 port可不可以進來。

參考鏈結: http://www.altj.com/setup-mod_jk-on-ubuntu-dapper-for-ofbiz/

5 則留言:

  1. 請教您是否有嘗試過apache和tomcat分屬不同的主機中執行成功?,在下嘗試將apache+tomcat放在同一個主機上(virtuaibox)內執行,誠如您的文章所示,是可以正常執行,但是在下將apache+tomcat 分別放置在其它機器中,就apache就無法連結,出現的錯誤如下:
    Connection refused: AH00957: AJP: attempt to connect to 127.0.0.1:8009 (127.0.0.1) failed
    不知道大大是否有過遇此狀況?

    回覆刪除
    回覆
    1. 不好意思,這麼晚回你

      這個錯誤訊息很清楚了
      ...
      worker.s1.port=8009
      worker.s1.host=localhost
      ...
      請把localhost改成你的區網IP(我本身server是不同區網IP)
      試試看吧!

      刪除
    2. 前輩
      不好意思,最近一直在忙,所以您提供的方法一直還沒測試,
      我在worker.properties確定是更改成實體ip位置
      一樣還是不行
      是否我在/etc/apach2/sites-enbaled內

      ProxyPass / ajp://127.0.0.1:8009/
      ProxyPassReverse / ajp://127.0.0.1:8009/
      ServerName localhost
      JkMount /* controller
      ajp要另外測試成實際ip位置嗎?
      感謝前輩的幫忙

      刪除
    3. 前輩~後來我解決這個問題了,原因為是
      ProxyPass / ajp://127.0.0.1:8009/
      ProxyPassReverse / ajp://127.0.0.1:8009/
      這二行要拿掉才行
      感謝前輩指導~

      刪除
    4. 不用客氣,現在才看到你的訊息

      刪除