前一章我们已经安装好apache并跑起来了,接下来整合tomcat。
一、Apache配置
Apache的核心配置主要在httpd.conf文件,在apache的conf目录里面,编辑该文件,其中关键配置项如下:
首先将apache默认的路径修改成你的目标路径,如:ServerRoot "c:/apache" 修改成你实际安装apache的路径。
//可以选择设置工程的发布路径
DocumentRoot "d:/deploy"
<Directory "d:/deploy">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
在该目录内新增一个index.html的文件,启动apache,在浏览器输入http://localhost 显示页面内容,说明配置生效。
//apache监听端口,默认是80
Listen 80
二、apache装载mod_jk模块
Apache通过80端口负责解析任何静态web内容,任何不能解析的内容,用表达式告诉mod_jk,让mod_jk派发给相关的app server去解析。
下载mod_jk路径:http://www.apachelounge.com/download/
解压后将mod_jk.so拷贝到apache的modules目录中,然后打开httpd.conf文件,在文件的末端新增如下配置:
# Apache载入一个额外的插件,用于连接tomcat
LoadModule jk_module modules/mod_jk.so
#,连接时的配置参数描述位于Apache安装目录的/conf目录下的一个叫workers.properties文件中,mod_jk一般使用ajp13协议连接,使用的是tomcat的8009端口。
JKWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
<VirtualHost *>
ServerAdmin localhost
DocumentRoot d:/deploy/
ServerName localhost
DirectoryIndex index.html index.htm index.jsp index.do
ErrorLog logs/shsc-error_log.txt
CustomLog logs/shsc-access_log.txt common
JkMount /*WEB-INF ajp13
JkMount /*j_spring_security_check ajp13
#JkMount /*.action ajp13
JkMount /servlet/* ajp13
JkMount /*.jsp ajp13
JkMount /*.do ajp13
#JkMount /*.action ajp13
</VirtualHost>
新增workers.properties文件,内容如下:
workers.tomcat_home=E:/software/apache-tomcat-7.0.57
workers.java_home=E:/software/jdk1.7.0_07
ps=/
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
三、工程部署
工程布署到tomcat的webapps目录下,将工程copy一份到d:/deploy目录下(删除WEB-INF这个目录,因为apache不需要解析JAVA的内容)
四、tomcat配置
编辑tomcat目录下的server.xml文件,修改端口和协议
<Connector executor="tomcatThreadPool"
port="8009" protocol="AJP/1.3"
connectionTimeout="20000"
redirectPort="443"/>
注意:protocol="AJP/1.3",而不是默认的http协议(因为apache的配置使用的是ajp13协议)
最后重启tomcat,重启apache,输入工程网址http://localhost/account/login.do 进入登录页面,OK,可以手工了