这个文档主要是Apache+tomcat整合。后实现单IP多网址访问的。基于该文档所要实现的效果如下:
http://www.aaa.com
http://www.bbb.com
http://www.ccc.com
输入这三个网址就可以访问这三个网站,但这三个域名的后面是同一个IP.
好。现在我就给大家讲解下(4-7步比较重要并注意红色的字体):
修改:C:WINDOWSsystem32driversetchosts
在文件最后加入
127.0.0.1 localhost
127.0.0.1 (这里为你网站工程的域名)
127.0.0.1
首先准备你要发布网站文件(随便建立几个web工程.或者几个你要访问的网站jsp文件)。
1. 下载:Apache2.2
http://2.51dd.com/down/apache_2.2.3-win32-x86-no_ssl.msi?115.150.201.199002TFlag=1256267234&OPIN=B9C4DAEAF96DC3397E4D08400BFE509A.msi
2. 下载:mod_jk-1.2.28-httpd-2.2.3.so
http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.28/mod_jk-1.2.28-httpd-2.2.3.so
如果是Linux系统
http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.28/i586/
3. 安装Apache到任意一个盘。在Apache Software FoundationApache2.2conf httpd.conf中找到
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf (将本行的红色#号去掉.该做法是开启了httpd-vhosts虚拟主机文件来达到配置虚拟主机的目的。)
4在httpd.conf最后加上:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel debug
NameVirtualHost *:80
5. 在conf文件中新建一个workers.properties文件.其文件名与JkWorkersFile后的文件名一致. 其内容如下:
workers.tomcat_home=tomcat的根目录
workers.java_home=jdk目录
#Worker列表
worker.list = tomcat1 #server 列表(如果部署在多个tomcat上可以再tomcat1后加tomcat2, tomcat3….)名字必须与
#========tomcat1========
worker.tomcat1.port=8009 # tomcat1端口号,在tomcat下server.xml配置,默认8009
worker.tomcat1.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=50
worker.tomcat1.socket_keepalive=1 #server的加权比重,值越高,分得的请求越多
6.将mod_jk-1.2.28-httpd-2.2.3.so重命名为mod_jk.so 拷贝到Apache Software FoundationApache2.2modules.
7.在Apache Software FoundationApache2.2confextra httpd-vhosts 最后:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot E:/workspace/chinays/WebRoot
ServerName www.chinays.hk
JkMount /*.jsp tomcat1(此处的tomcat1与workers.properties文件中的worker.list=tomcat1要一致). #让Apache支持对jsp传送,用以Tomcat解析
JkMount /*.do tomcat1 #让Apache支持对.do传送,用以Tomcat解析
# ServerAlias chinays.hk
<Directory E:/workspace/chinays/WebRoot>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
详细说明:
#ServerAdmin 服务邮箱,写你自己的邮箱就好了
#DocumentRoot 网站的目录路径
#ServerName 网站的主域名
#ServerAlias 网站的别域名
#Directory 配置网站目录路径的访问权限,记得一定要是Allow from all
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot E:/workspace/YsCredit/WebRoot
ServerName www.ysdk918.com
JkMount /*.jsp tomcat1
#让Apache支持对jsp传送,用以Tomcat解析
JkMount /*.do tomcat1
#让Apache支持对.do传送,用以Tomcat解析
# ServerAlias ysCredit.com
<Directory E:/workspace/YsCredit/WebRoot>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
8. 打开tomcat目录下的conf/server.xml文件,在</host>后面换行,配置如下信息:
<Host name="ysdk918.com" debug="0" appBase="">
<Alias>www.ysdk918.com</Alias>
<Context path="" docBase="E:workspaceysCreditWebRoot(你网站工程的目录)" reloadable="true" crossContext="true">
<WatchedSource>WEB-INF/web.xml</WatchedSource>
</Context>
</Host>
<Host name="chinays.hk" debug="0" appBase="">
<Alias>www.chinays.hk</Alias>
<Context path="" docBase="E:workspacechinaysWebRoot(你网站工程的目录)" reloadable="true" crossContext="true">
<WatchedSource>WEB-INF/web.xml</WatchedSource>
</Context>
</Host>
9. 重启Apache和tomcat服务,在地址栏中输入你的网址.即可看到效果.
在这个一系列的配置中会出现一些问题.
1>.Apache 启动时发现报错而不能启动时:1原因是因为mod_jk.so文件的版本和Apache不合.2在配置这些文件的时候可能有误.请仔细查看 如有差错 请百度.
2>.如果启动成功.发现jsp页面显示源码:
其原因是部分静态页面需要apache处理,不转发给后端的tomcat而
其原因是Apache没有将请/*.jsp或者/*.action 或者/*.do求转发给tomcat. JkMount /*.jsp tomcat1