相信很多人会遇到,自己只有一台服务器,而想在一台服务器上,有若干个应用。让用户访问。同时又不想用URL转发之类,对用户不好的体验。
如果用IIS配置起来,就很简单了,但jsp系列的,在网上查找的资料都不完全符合自己实践。还是自己模式配置在apache、tomcat集群情况下,单IP多域名配置。
需求:
1、静态页面由apache响应,动态的jsp部分,由tomcat处理。
2、只有一台服务器,却需要有若干个jsp应用要运行,希望客户可以用域名访问
3、不用URL转发,对用户不好,并且不利于SEO
配置
1、apache+tomcat配置。
参见以前文章:
a、apache+tomcat基础配置:windows 下apahce (2.2.11版)+tomcat+mod_jk整合,负载均衡基础实践
b、静态路径重写:apache url rewrite 路径重写,整合了apache+tomcat负载均衡
2、在apache 安装文件中找到主配置文件 http.conf
查找:# Include conf/extra/httpd-vhosts.conf
去掉前面的# 。让虚拟主机配置生效。
3、在主配置文件中 http.conf
找到 JkMount /* controller
注释掉。如果不是按照我系列文章的第一篇操作,则不存在此过程。
4、打开extra 下的 httpd-vhosts.conf
全删掉,参考以下内容编写
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot d:/app/test
ServerName test.baiyyy.com.cn
ServerAlias test.baiyyy.com.cn
<Directory "d:/app/test">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
#此句一定要加上。否则不会找tomcat进行jsp处理的。这句,不能在主配置文件中,必须在此host配置文件中。
JkMount /* controller #注意这里是我第一篇文章中提到的,这里将所有的请求都转发给tomcat去做负载均衡。如果不是按照我先前的配置。则你是找不到此句话的。不需要添加的。如果不添加此句话,就不能处理动态页面。只能访问静态页面咯。
</VirtualHost>
#第二个虚拟主机 test2.baiyyy.com.cn
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot G:/DevPlateForm/koa
ServerName test2.baiyyy.com.cn
ServerAlias test2.baiyyy.com.cn
<Directory "G:/DevPlateForm/koa">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
4、注意事项
看上面代码中,红色和加粗字体。特别注意。
5、配置前必备
请参阅我系列文章中的前两篇。否则单独用此配置是配置不成功的。
6、至于域名解析配置,就不是这里要讲述的。那一般网管都会处理的。
通过本系列文章你可以解决:
1、apache+tomcat负载均衡、集群配置。让你的服务器配置更优化。
2、apache 路径重写。为你的搜索引擎优化SEO ,出一份力量。也让你的网站链接更友好,更易被搜索引擎抓取。
3、apache下的单IP地址,多域名配置,让你的域名和服务器Ip地址更充分的利用。结合tomcat处理动态页面,无论是纯静态的html,或者是动态jsp应用型网站,都可以进行多域名配置。