共计 3998 个字符,预计需要花费 10 分钟才能阅读完成。
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>
————————————– 分割线 ————————————–
Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm
CentOS 5.9 下编译安装 LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12) http://www.linuxidc.com/Linux/2013-03/80333p3.htm
RedHat 5.4 下 Web 服务器架构之源码构建 LAMP 环境及应用 PHPWind http://www.linuxidc.com/Linux/2012-10/72484p2.htm
LAMP 源码环境搭建 WEB 服务器 Linux+Apache+MySQL+PHP http://www.linuxidc.com/Linux/2013-05/84882.htm
LAMP+Xcache 环境搭建 http://www.linuxidc.com/Linux/2014-05/101087.htm
————————————– 分割线 ————————————–
更多 CentOS 相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14
本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-09/107338.htm