首页 > 代码库 > 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

/**
 * 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>
 */

CentOS-6.4-minimal版中通过JK-1.2.40整合Apache-2.2.29与Tomcat-6.0.41