CentOS-6.4-minimal版中通過JK-1.2.40整合Apache-2.2.29與Tomcat-6.0.41
----------------------------------------------------------------------------------------------------------------------
AJP(Apache JServer Protocol)
Tomcat提供了專門的JK插件來負責Tomcat和HTTP伺服器(如Apache,Nginx,IIS等)的通信,也就是我們常常會看到的mod_jk
jk安裝在對方的HTTP伺服器上之後,當HTTP伺服器接收到客戶請求時,它會通過jk過濾URL,jk根據預先配置好的URL映射資訊,決定是否把請求轉發給Tomcat處理
而jk是通過AJP協定實作apache與tomcat之間通訊的,AJP協定是為Tomcat與HTTP伺服器之間通信而定制的協定,能夠提供較高的通信速度和效率
ajp12已經廢棄了,目前在用的是1.3版本的協定,ajpv13協定是面向包的
Web伺服器和Servlet容器通過TCP連接配接來互動,為了節省socket建立的昂貴代價,Web伺服器會嘗試維護一個永久TCP連接配接到Servlet容器
并且在多個請求和響應周期過程會重用此連接配接,一旦一個連接配接被配置設定給特定的請求,那麼在請求處理周期結束之前這個連接配接不能被重用
大緻來說,是由于以下兩個原因,導緻Tomcat與HTTP伺服器整合時,采用AJP協定通信的效率要高于HTTP協定
1)ajp采用長連接配接,保持了Tomcat與HTTP伺服器的通信,減少了建立TCP連接配接的開銷
2)ajp采用一定的協定格式,減少了傳遞封包的資料大小,節省了帶寬
----------------------------------------------------------------------------------------------------------------------
安裝JK-1.2.40
1)安裝時要指定apache安裝目錄中的apxs的位置,它可以友善我們動态加載子產品,安裝完成後會在apapche的modules目錄下生成一份mod_jk.so檔案
2)安裝過程中若提示autoconf或libtool not found,那麼yum -y install autoconf或libtool即可
[root@CentOS64 software]# tar zxvf tomcat-connectors-1.2.40-src.tar.gz
[root@CentOS64 software]# cd tomcat-connectors-1.2.40-src/native/
[root@CentOS64 native]# ./buildconf.sh
[root@CentOS64 native]# ./configure --with-apxs=/app/apache/bin/apxs
[root@CentOS64 native]# make
[root@CentOS64 native]# make install
[root@CentOS64 native]# ll /app/apache/modules/
----------------------------------------------------------------------------------------------------------------------
安裝Tomcat-6.0.41
無需編譯源碼,直接[tar zxvf apache-tomcat-6.0.41.tar.gz]解壓即可,再執行/app/tomcat/bin/startup.sh可以啟動Tomcat了
----------------------------------------------------------------------------------------------------------------------
配置Tomcat
1)關閉HTTP協定
注釋server.xml中的<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>
2)開啟AJP協定
保持server.xml中的<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
----------------------------------------------------------------------------------------------------------------------
配置Apache
0)Apache的安裝過程詳見 http://www.linuxidc.com/Linux/2014-09/107342.htm
1)修改/app/apache/conf/httpd.conf檔案
開啟虛拟主機-->取消注釋Include conf/extra/httpd-vhosts.conf
添加JK配置--->增加一行Include conf/extra/httpd-jk.conf
2)建立/app/apache/conf/extra/httpd-jk.conf檔案,并添加以下内容
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
3)建立/app/apache/conf/workers.properties檔案,并添加以下内容
worker.list=tomcat
worker.tomcat.type=ajp13
worker.tomcat.host=192.168.0.103
worker.tomcat.port=8009
4)修改/app/apache/conf/extra/httpd-vhosts.conf檔案,增加以下内容(可使用#号注釋掉原有的兩個<VirtualHost *:80/>預設配置)
<VirtualHost *:80>
ServerName "www.linuxidc.com"
DocumentRoot "/app/tomcat/webapps/docs"
ErrorLog "logs/www.linuxidc.com-error.log"
CustomLog "logs/www.linuxidc.com-access.log" common
<Directory "/app/tomcat/webapps/docs">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
JkMount /* tomcat
JkUnMount /*.html tomcat
JkUnMount /*.jpg tomcat
JkUnMount /*.css tomcat
JkUnMount /css/* tomcat
JkUnMount /js/* tomcat
JkUnMount /lib/* tomcat
</VirtualHost>
----------------------------------------------------------------------------------------------------------------------
@create Sep 27, 2014 1:39:24 PM
@author 玄玉<http://www.linuxidc.com>