一、 具备条件
1. apache服务器。
2. tomcat服务器。
3. 使用mod_jk链接apache和tomcat,文件是mod_jk-1.2.26-httpd-2.2.4.so。
二、 Mod_jk配置
1. 在apache的conf目录下创建两个文件jk.conf和workers.properties。
2. jk.conf文件的配置如下:
LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so
JkWorkersFile conf/workers.properties
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot D:/tomcat-7.1/webapps/test
ServerName www.test1.com
JkMount /* tomcat01
</VirtualHost>
<VirtualHost *:80>
DocumentRoot D:/tomcat-7.2/webapps/test
ServerName www.test2.com
JkMount /* tomcat02
</VirtualHost>
注意:将mod_jk-1.2.26-httpd-2.2.4.so复制到Apache的modules文件夹下。
3. workers.properties文件的配置如下:
worker.list=tomcat01 tomcat02 //tomcat个数列表名
worker.tomcat01.port=8011 //和tomcat的ajp的端口一致而不是http端口
worker.tomcat01.host=www.test1.com //和tomcat中的host的name一致
worker.tomcat01.type=ajp13
worker.tomcat02.port=8012
worker.tomcat02.host=www.test2.com
worker.tomcat02.type=ajp13
注意:port是tomcat ajp的端口,host是tomcat的name属性值
三、 Apache配置
1. 加载jk.conf的配置:Include conf/jk.conf。
2. 如果使用apache配置php网站,可以开启#Include conf/extra/httpd-vhosts.conf,将“#”去掉即可,此文件配置如下:
NameVirtualHost *:80
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
ServerAdmin lqshyx@126.com
DocumentRoot "E:/www/shopjspweb"
DirectoryIndex /htm/index.html
ServerName www.test.com
ServerAlias www.test.com
ErrorLog "logs/dummy-host.www.phpStudy.net-error.log"
CustomLog "logs/dummy-host.www.phpStudy.net-access.log" common
</VirtualHost>
四、 Tomcat配置
1. 修改默认的ajp端口保持和workers.properties文件中的port一致。
2. 建议修改http的8080端口
3. 修改host配置如下:
<Host name="www.test1.com" debug="0" appBase="D:\tomcat-7.1\webapps\test" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="D:\tomcat-7.1\webapps\test" debug="0" reloadable="true" crossContext="true"></Context>
</Host>
五、 注意事项
所有配置的域名如果在本地模拟测试的话,需要在hosts文件中配置虚假域名来测试。
Hosts文件的路径是为:C:\Windows\System32\drivers\etc
1. apache服务器。
2. tomcat服务器。
3. 使用mod_jk链接apache和tomcat,文件是mod_jk-1.2.26-httpd-2.2.4.so。
二、 Mod_jk配置
1. 在apache的conf目录下创建两个文件jk.conf和workers.properties。
2. jk.conf文件的配置如下:
LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so
JkWorkersFile conf/workers.properties
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot D:/tomcat-7.1/webapps/test
ServerName www.test1.com
JkMount /* tomcat01
</VirtualHost>
<VirtualHost *:80>
DocumentRoot D:/tomcat-7.2/webapps/test
ServerName www.test2.com
JkMount /* tomcat02
</VirtualHost>
注意:将mod_jk-1.2.26-httpd-2.2.4.so复制到Apache的modules文件夹下。
3. workers.properties文件的配置如下:
worker.list=tomcat01 tomcat02 //tomcat个数列表名
worker.tomcat01.port=8011 //和tomcat的ajp的端口一致而不是http端口
worker.tomcat01.host=www.test1.com //和tomcat中的host的name一致
worker.tomcat01.type=ajp13
worker.tomcat02.port=8012
worker.tomcat02.host=www.test2.com
worker.tomcat02.type=ajp13
注意:port是tomcat ajp的端口,host是tomcat的name属性值
三、 Apache配置
1. 加载jk.conf的配置:Include conf/jk.conf。
2. 如果使用apache配置php网站,可以开启#Include conf/extra/httpd-vhosts.conf,将“#”去掉即可,此文件配置如下:
NameVirtualHost *:80
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
ServerAdmin lqshyx@126.com
DocumentRoot "E:/www/shopjspweb"
DirectoryIndex /htm/index.html
ServerName www.test.com
ServerAlias www.test.com
ErrorLog "logs/dummy-host.www.phpStudy.net-error.log"
CustomLog "logs/dummy-host.www.phpStudy.net-access.log" common
</VirtualHost>
四、 Tomcat配置
1. 修改默认的ajp端口保持和workers.properties文件中的port一致。
2. 建议修改http的8080端口
3. 修改host配置如下:
<Host name="www.test1.com" debug="0" appBase="D:\tomcat-7.1\webapps\test" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="D:\tomcat-7.1\webapps\test" debug="0" reloadable="true" crossContext="true"></Context>
</Host>
五、 注意事项
所有配置的域名如果在本地模拟测试的话,需要在hosts文件中配置虚假域名来测试。
Hosts文件的路径是为:C:\Windows\System32\drivers\etc