新手入门级别,自己搞了一下apache和tomcat的整合,
整理了一下笔记,希望能看到此笔记的人多多给予批评、纠正和优化。
1.据说做apache和tomcat整合的时候,版本号会影响到整合的成败,但是笔者只是在网上下载的apache2.0
( httpd-2.0.64-win32-x86-no_ssl.msi
)版本,和apache-tomcat-7.0.26,JK用的是tomcat-connectors-1.2.37
(tomcat-connectors-1.2.37-windows-i386-httpd-2.0.x.zip)
环境是 windowXP下。
2.首先安装apache和tomcat(最好安装在同一个根目录下),然后配置一下环境变量,具体步骤不做解释,然后解压缩jk连接器,只要其中的mod_jk.so即可。
3.准备工作完成。
4.两者之间的通信通过workers配置(由tomcat使用Server.xml中的Connector标签定义端口port和协议protocol,workers.properties文件中定义端口、协议、tomcat服务器地址);由mod_jk模块负责两者通信的处理。通信协议用jk(只是其中一种)。整个过程其实就是让apache的httpd.conf文件调用mod_jk.conf,mod_jk.conf调用workers.properties,最后配置虚拟主机。
5.打开apache下的conf目录下的httpd.conf文件,在文件末尾加入include
"E:\Apache\Apache2\conf\mod_jk.conf"(指定mod_jk.conf文件所在位置)。
6.编写mod_jk.conf文件
# Load mod_jk module加载 mod_jk 模块
LoadModule jk_module modules/mod_jk.so
# Where to find workers.properties
JkWorkersFile conf/workers.properties
# Where to put jk logs
JkLogFile logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
#JkLogStampFormat \"[%a %b %d %H:%M:%S %Y] \"
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
#JkRequestLogFormat \"%w %V %T\"
# Send servlet for context /examples to worker named ajp13
#JkMount /servlet/* ajp13
# Send JSPs for context /examples to worker named ajp13
JkMount /*.jsp ajp13
JkMount /*.do ajp13
JkMount /*/*.do ajp13
JkMount /*.action ajp13
JkMount /*/*.action ajp13
#############################
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "E:\apache-tomcat-7.0.26\webapps\examples"
ServerName localhost
ErrorLog logs/localhost-error_log
CustomLog logs/localhost-access_log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "E:\apache-tomcat-7.0.26\webapps\examples"
ServerName 127.0.0.1
ErrorLog logs/foresee.com-error_log
CustomLog logs/foresee.com-access_log common
<Location /server-status> # 这样我可以看到apache服务器状态
SetHandler server-status
#Order deny,allow
#Deny from all
#Allow from localhost
#Allow from 192.168.5.80
</Location>
</VirtualHost>
7.将mod_jk.so文件拷贝到apache下的 modules文件夹内
8.在apache下的conf文件夹内再创建workers.properties文件,配置如下内容
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost #本机,若上面Tomcat主机不为localhost,作相应修改
worker.ajp13.type=ajp13 #类型
worker.ajp13.lbfactor=1 #代理数,不用修改
9.打开tomcat,在conf文件夹下找到server.xml文件,进行虚拟主机配置:
找到<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
增加<Context path="" docBase="examples" />
<Host name="www.myself.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="examples" />
</Host>
10.补充说明:
www.myself.com"-----------要在本地配置哦....windows---system32----drivers----host
docBase="examples"------你要访问的web工程
mod_jk.so ---------------------解压缩JK的压缩包就可以找到这个文件
ServerName 127.0.0.1-----服务器的所在地址
JkLogFile logs/mod_jk.log-------JK的日志文件存放位置
11.以上完成了apache和tomcat的整合工作。保存所有改动的文件,然后重新启动tomcat和apache,访问
localhost localhost:8080
如果出现的是同一个地址,那么证明配置成功。