lchl0388 发表于 2018-11-25 13:18:13

apache+tomcat整合宝典(一)

apache+tomcat整合web项目
作者:viki

2012-09-19



1.卷首语



前端时间同学叫我帮他发布多个web项目,服务器是windows 2003。他们的老大要求环境必须用apache+tomcat整合发布。好吧,前端时间我是挺有空的,就帮帮吧…谁知道,一搞就好几天啊。

不熟练是肯定的了。apache公司就用过一次,不想nginx研究的那么深入。

主要还是配置apache+tomcat时各种配置的不一样,都导致最后结果的不同。

所以我还是喜欢nginx。^_^

下面是我总结出的两种发布方式。

PS:如果想了解集群或session共享相关的配置,请参照其他文章,本文只是做个简单的整合配置。





2.准备工作



注意:

1、以下软件版本不是最新版。因为要根据开发环境部署服务器环境。

其实应该是反过来才对,开发习惯问题而已。

2、服务器版本位数不同,版本也不同的。



2.1.    下载apache软件并安装



此处版本为2.2.2,下载地址:

http://mirror.bjtu.edu.cn/apache//httpd/binaries/win32/httpd-2.2.22-win32-x86-openssl-0.9.8t.msi



apache的安装无需多说了,直接选择默认的80端口,服务方式管理就行了。



2.2.    下载tomcat绿色版



此处版本为6.0.35,下载地址:

http://labs.mop.com/apache-mirror/tomcat/tomcat-6/v6.0.35/bin/apache-tomcat-6.0.35-windows-x86.zip





2.3.    下载jdk6


  windows版本的jdk没有绿色版,确实是一个比较吭的地方:

http://download.oracle.com/otn-pub/java/jdk/6u35-b10/jdk-6u35-windows-i586.exe





3.apache + tomcat + mod_jk



第一种方法是使用mod_jk模块,这个模块是tomcat团队提供的一个整合工具。
  唯一的缺点是不能跟tomcat的虚拟目录一起使用(则Context中的path字段),只能使用tomcat的虚拟主机



3.1.    配置tomcat

3.1.1.            配置 server.xml文件



位置:$tomcat_base/conf


  1、如果使用mod_jk整合,就会使用tomcat的ajp协议的方式,所以tomcat的http connector就没必要开着了,直接注释掉就好了




[*]



2、然后找到ajp的connector,端口我就不改了,加入了几个属性(address的作用不多说了,就是只能通过访问address的值才能访问;这样的话,tomcat就完全隐藏在apache后面了。如果多台服务器做集群的话,也可以配置成内网地址看具体环境而配置配置)




[*]

  注意:这里tomcat6跟tomcat7有一个区别,tomcat7的protocol可以使用nio的protocol:“org.apache.coyote.ajp.AjpNioProtocol”。tomcat6不支持ajp协议的nio方式。





3、配置tomcat虚拟目录。只有一个项目的情况下,这样配置应该是最方便的吧。“E:\\a”是网站根目录




[*]
[*]         
[*]

  启动tomcat,如果启动成功。并通过访问地址“http://127.0.0.1:8080/”如果访问成功,则表示配置正确。(好吧,开玩笑的。^_^。刚才配置里面已经关闭了http协议连接,所以通过以上地址是不可能访问成功的。如果能访问则表示http connector没有成功关闭)





3.2.    配置apache

3.2.1.            下载mod_jk



先去下载mod_jk,跟apache的版本一致就行:

http://mirrors.tuna.tsinghua.edu.cn/apache//tomcat/tomcat-connectors/jk/binaries/windows/tomcat-connectors-1.2.37-windows-i386-httpd-2.2.x.zip



网上说mod_jk已经过时了。我就不清楚为什么这样说了,因为我在官方下载地址这里看到的最后更新时间都是2012年的。



将压缩包里面的mod_jk.so文件复制到

$apache_base/modules目录下。



3.2.2.            创建workers.properties 文件



在$apache_base/conf目录下新建以下文件,workers.properties。在里面根据服务器配置:






[*]workers.tomcat_home=D:\apache-tomcat-6.0.35
[*]workers.java_home=C:\Program Files\Java\jdk1.6.0_35
[*]
[*]worker.list=a_worker
[*]
[*]worker.a_worker.port=8009
[*]worker.a_worker.host=localhost
[*]worker.a_worker.type=ajp13
[*]worker.a_worker.socket_keepalive=True




  如果有多个tomcat,可以在worker.list后面指定多个,只需用,隔开即可。

下面的worker.a_worker是对每一个tomcat服务器的详细配置,可查阅官方文档:http://tomcat.apache.org/connectors-doc/reference/workers.html





3.2.3.            配置httpd.conf 文件



位置:$apache_base/conf/httpd.conf



1、文件最下面加入以下代码,用于让apache能使用mod_jk功能






[*]# 虚拟主机配置
[*]NameVirtualHost *:80
[*]# 加载模块
[*]LoadModule jk_module modules/mod_jk.so
[*]
[*]# 加载worker文件
[*]JkWorkersFile conf/workers.properties
[*]
[*]# 导入虚拟主机文件
[*]Include conf/vhost/www.a.com.conf



页: [1]
查看完整版本: apache+tomcat整合宝典(一)