天天看點

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

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>