首先準備軟件,列表如下:
httpd-2.2.19.tar.bz2
apache-tomcat-7.0.19.tar.gz
tomcat-connectors-1.2.32-src.tar.gz
一. apache httpd的安裝
二. tomcat的安裝和配置
2.1 tomcat的安裝
此部分略,在配置好Java環境的條件下直接解壓縮即可.
2.2 tomcat的配置 - 在一臺機器上配置多個tomcat實例 (因爲筆者只是測試環境)
2.2.1 禁用Http連接器
因爲將不再使用tomcat自身的http連接器,也即避免8080端口的佔用
Open file $CATALINA_HOME/conf/server.xml
Comment the following conents
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
2.2.2 爲每個tomcat實例配置AJP TCP端口
<Server port="8005" shutdown="SHUTDOWN">
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
server1 - 8005,8009
server2 - 8105,8109
2.2.3 爲每個tomcat實例設置jvmRoute以支持mod_jk
<Engine name="Catalina" defaultHost="localhost"jvmRoute="machine1">
<Engine name="Catalina" defaultHost="localhost"jvmRoute="machine2">
2.2.4 準備示例程序
使用jsp-examples即可,如果想實現會話(session)共享,需要在部署描述符(web.xml)中添加<distributable/>元素
<display-name>Servlet and JSP Examples</display-name>
<distributable/>
<!-- Define example filters -->
<filter>
三. mod_jk的安裝
tar -xvf tomcat-connectors-1.2.32-src.tar.gz
cd tomcat-connectors-1.2.32-src/native
#以下爲重點部分,主要提供Apache的apxs和java目錄進行configure
./configure --with-apxs=/usr/local/dev/server/apache/apache-httpd-2.2.19/bin/apxs --with-java-home=/usr/local/dev/java/jdk1.6.0_12
make & make install
編譯安裝完後,在apache主目錄的modules下應該會產生mod_jk.so庫
四. mod_jk的配置
4.1 讓apache httpd加載mod_jk.so庫
$APACHE_HOME/conf/httpd.conf
add
LoadModule jk_modle modules/mod_jk.so
增加mod_jk.so模塊後,啓動時會查找$APACHE_HOME/conf/workers.properties
4.2 配置workers.properties
該文件是mod_jk的必須文件
Copy workers.properties from tomcat-connectors-1.2.32-src/conf
做如下配置
注意lb和status是mod_jk的內置類型
worker.list=wlb,jkstatus
worker.machine1.type=ajp13
worker.machine1.host=192.168.110.129
worker.machine1.port=8009
worker.machine1.lbfactor=10
worker.machine2.type=ajp13
worker.machine2.host=192.168.110.129
worker.machine2.port=8109
worker.machine2.lbfactor=10
worker.wlb.type=lb
worker.wlb.balance_workers=machine1,machine2
worker.jkstatus.type=status
五. 使用JkMount映射負載平衡的路徑
需要在apache中將dynamic content映射到負載均衡器上,也就是mod_jk
#mod_jk configuration#
JkMount /examples/jsp/* wlb
JkMount /jkstatus/ jkstatus
還需要告訴apache服務器workers.properties在哪裏
# where is the workers.properties #
JkWorkersFile conf/workers.properties
六. 測試環境
至此前端配置完畢