前言:
2015年了,nginx已经是基本把apache淘汰掉了,但由于运维架构是很久以前的,还是用到 apache 。
由于用apache的反向代理模式,发现会把域名重定向,不符合应用情景。
经过考虑,还是用回了传统的JK模式。
1.准备的材料
1)apache 2.2.X
2)tomcat 6/7/8
3)jdk 6/7
4)JK
- 下载windows版本的mod_jk connector,这个是链接apache和tomcat的桥。是Apache接受到jsp或servlet时能将请求转发到tomcat。提别需要注意的是,下载的JK需要和你的apache版本相符合。请到 http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/ 下载和自己apache版本符合的JK.。
下载完,解压,其中的 so后缀文件,到 apache根距离下的 modules
步骤一:
安装JDK,apache,tomcat
步骤二:
打开%apache_home%/conf/httpd.conf ,“%apache_home%” 为apache安装根路径
在最后面加入
#jk方式2,服务器
#Include conf/extra/httpd-vhosts.conf
LoadModule jk_module modules/mod_jk.so
JkWorkersFile "h:/Program Files (x86)/Apache Software Foundation/Apache2.2/conf/workers2.properties"
#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器名
JkMount /*.jsp controller
JkMount /servlet/* controller
JkMount /*.do controller
#jk方式2,服务器
worker2.properties
#server
worker.list = controller
#========tomcat1========
worker.tomcat1.port=8009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1
#========tomcat2========
#worker.tomcat2.port=12009
#worker.tomcat2.host=localhost
#worker.tomcat2.type=ajp13
#worker.tomcat2.lbfactor = 1
#========tomcat3========
#worker.tomcat3.port=13009
#worker.tomcat3.host=192.168.0.80 //在我的虚拟机中的,可以算远程的吧
#worker.tomcat3.type=ajp13
#worker.tomcat3.lbfactor = 1
#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1
worker.controller.sticky_session=false
worker.controller.sticky_session_force=1
#worker.controller.sticky_session=1
httpd-vhosts.conf
<VirtualHost *:80>
ServerName www.bbb.com
ServerAlias *.bbb.com
DocumentRoot C:/webapps/itaem
<Directory "C:/webapps/itaem">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
JkMount /*.jsp controller
JkMount /servlet/* controller
JkMount /*.do controller
DirectoryIndex index.jsp #默认访问页
JkMount /PanoServlet* controller
</VirtualHost>
其中
*.bbb.com
则可以实现范域名解析,
其解析到c:/webapps/itaem
在tomcat中配置一下
tomcat的配置文件
server.xml
<Host name="bbb.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Alias>asd.bbb.com</Alias>
<Alias>123.bbb.com</Alias>
<Alias>456.bbb.com</Alias>
<Context path="" docBase="C:/webapps/itaem" debug="0" reloadable="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>