標籤:apache tomcat jk mod_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即可 * [[email protected] software]# tar zxvf tomcat-connectors-1.2.40-src.tar.gz * [[email protected] software]# cd tomcat-connectors-1.2.40-src/native/ * [[email protected] native]# ./buildconf.sh * [[email protected] native]# ./configure --with-apxs=/app/apache/bin/apxs * [[email protected] native]# make * [[email protected] native]# make install * [[email protected] 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> */
CentOS-6.4-minimal版中通過JK-1.2.40整合Apache-2.2.29與Tomcat-6.0.41