CentOS-6.4-minimal版中通過JK-1.2.40整合Apache-2.2.29與Tomcat-6.0.41

完整版見https://jadyer.github.io/2014/09/27/tomcat-apache-jk/




/**
 * 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://blog.csdn.net/jadyer/article/details/39583879
 * 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.jadyer.com"
 *   	DocumentRoot "/app/tomcat/webapps/docs"
 *   	ErrorLog "logs/www.jadyer.com-error.log"
 *   	CustomLog "logs/www.jadyer.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://blog.csdn.net/jadyer>
 */
發佈了360 篇原創文章 · 獲贊 338 · 訪問量 121萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章