windows下整合Apache+IIS+Resin
程序员文章站
2024-02-21 16:52:46
...
[size=medium]前提:Apache使用80端口,iis和resin都使用Apache的虚拟主机映射,来完成三者的合并。
[/size]
第一步:Apache与IIS整合
1.修改Apache的配置文件[color=red]httpd.conf [/color]
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
找到上两行代码,去掉前面的#号;
2.添加映射iis的虚拟主机
在httpd.conf最后面加上下面一段代码:
注释:blovesky.51vip.biz是iis发布项目的域名,iis在这里使用的是81端口。
关于iis配置域名和端口这里不做陈述。
第二步:Apache和Rsin的整合
修改http.conf文件:
1。找到LoadModule代码块,在后面添加下面这行代码:
LoadModule caucho_module "E:/zjd/resin/win32/apache-2.0/mod_caucho.dll"
2.resin的虚拟主机:
在配置文件最后面添加如下代码:
注释:zjdlove.51vip.biz为配置resin下发布项目的域名,resin的端口可以为非80的其他端口,如:8080
E:/zjd/resin/deploy/51dw 这个路径是resin下发布的51dw的项目跟目录。
3.修改resin的配置文件resin.conf
打开文件,找到document-directory这个标签,把值改为要发布的这个项目的跟目录,如:51dw的根目录E:/zjd/resin/deploy/51dw,域名不需要在这里配置。
备注:这样做,resin就只能发布一个项目,目前先暂时这样解决(听说用apache代理,和resin合并,可以用resin发布多个项目使用apache的80端口)。resin为版本为3.0.23,apahce版本为2.0.59
保存后重新启动服务(apache,resin,iis)
(后续)
配置过程中,iis出现的问题:
一、asp不能访问:
在win2003(iis6.0)下面,有个Web服务扩展,在里面有个几个选项,其中,有一项Active Server Pages默认为禁止,这里需要改为允许。
二、访问网站出现这样的错误:
Active Server Pages ?? 'ASP 0131'
???Э???·??
/news/include/config.asp??А 1
???./include/skin.asp' ???? '..' ????????
Asp 0131错误:路径问题,由于asp文件里使用了父路径,所以在iis6.0里应该设置启用父路径。
方法:打开IIS网站管理,到相关网站:右键---属性-----主目录----配置----选项---启用父路径(打勾)即可。
三、在iis下的二级域名站点,在apache配置下面不能访问(访问总是回到*域名下的网站)问题:
在apache,http.conf文件中,虚拟主机配置如下:
问题是现在访问bbs.xxx.cn却总是回到www.xxx.cn的网站上,最后终于发现是别名的问题,把红色字体部分去掉,问题解决,困扰了大半天的问题终于解决。
2009-08-26
再续:关于上面写的apache下只能代理一个resin下的web项目,最近找到了解决的办法,可以同时代理resni下的多个web项目。
方法:在上面说的基础上,不修改resin的根目录,即document-directory标签的值,默认还是resin的Root,在Apache配置文件中,代理映射在上面的基础上只需要修改:
这样,resin下面根目录Root没有修改,则就可以配置多个web项目的转发了。
[/size]
第一步:Apache与IIS整合
1.修改Apache的配置文件[color=red]httpd.conf [/color]
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
找到上两行代码,去掉前面的#号;
2.添加映射iis的虚拟主机
在httpd.conf最后面加上下面一段代码:
<VirtualHost *:80>
ServerName 61.168.21.208----------------------服务ip
DocumentRoot d:/www----------------------------apache的发布目录
</VirtualHost>
<VirtualHost *:80>
ServerName blovesky.51vip.biz
ProxyPass / http://blovesky.51vip.biz:81/
ProxyPassReverse / http://lovesky.51vip.biz:81/
</VirtualHost>
注释:blovesky.51vip.biz是iis发布项目的域名,iis在这里使用的是81端口。
关于iis配置域名和端口这里不做陈述。
第二步:Apache和Rsin的整合
修改http.conf文件:
1。找到LoadModule代码块,在后面添加下面这行代码:
LoadModule caucho_module "E:/zjd/resin/win32/apache-2.0/mod_caucho.dll"
2.resin的虚拟主机:
在配置文件最后面添加如下代码:
<IfModule mod_caucho.c>
ResinConfigServer localhost 6802
CauchoStatus yes
</IfModule>
<VirtualHost *:80>
ServerName zjdlove.51vip.biz
# 别名,当有二级域名存在时,这个别名应该取消
ServerAlias zjdlove.51vip.biz *.zjdlove.51vip.biz
DocumentRoot E:/zjd/resin/deploy/51dw
AddHandler caucho-request jsp
<LocationMatch /*>
SetHandler caucho-request
</LocationMatch>
<LocationMatch "/WEB-INF/">
AllowOverride None
deny from all
</LocationMatch>
<Directory "E:/zjd/resin/deploy/51dw">
Allow from all
</Directory>
</VirtualHost>
注释:zjdlove.51vip.biz为配置resin下发布项目的域名,resin的端口可以为非80的其他端口,如:8080
E:/zjd/resin/deploy/51dw 这个路径是resin下发布的51dw的项目跟目录。
3.修改resin的配置文件resin.conf
打开文件,找到document-directory这个标签,把值改为要发布的这个项目的跟目录,如:51dw的根目录E:/zjd/resin/deploy/51dw,域名不需要在这里配置。
备注:这样做,resin就只能发布一个项目,目前先暂时这样解决(听说用apache代理,和resin合并,可以用resin发布多个项目使用apache的80端口)。resin为版本为3.0.23,apahce版本为2.0.59
保存后重新启动服务(apache,resin,iis)
(后续)
配置过程中,iis出现的问题:
一、asp不能访问:
在win2003(iis6.0)下面,有个Web服务扩展,在里面有个几个选项,其中,有一项Active Server Pages默认为禁止,这里需要改为允许。
二、访问网站出现这样的错误:
Active Server Pages ?? 'ASP 0131'
???Э???·??
/news/include/config.asp??А 1
???./include/skin.asp' ???? '..' ????????
Asp 0131错误:路径问题,由于asp文件里使用了父路径,所以在iis6.0里应该设置启用父路径。
方法:打开IIS网站管理,到相关网站:右键---属性-----主目录----配置----选项---启用父路径(打勾)即可。
三、在iis下的二级域名站点,在apache配置下面不能访问(访问总是回到*域名下的网站)问题:
在apache,http.conf文件中,虚拟主机配置如下:
<VirtualHost *:80>
ServerName www.xxx.cn
ServerAlias xxx.cn *.xx.cn
ProxyPass / http://www.xxx.cn:81/
ProxyPassReverse / http://www.xxx.cn:81/
</VirtualHost>
#二级域名网站
<VirtualHost *:80>
ServerName bbs.xxx.cn
ProxyPass / http://bbb.xxx.cn:81/
ProxyPassReverse / http://bbs.xxx.cn:81/
</VirtualHost>
问题是现在访问bbs.xxx.cn却总是回到www.xxx.cn的网站上,最后终于发现是别名的问题,把红色字体部分去掉,问题解决,困扰了大半天的问题终于解决。
2009-08-26
再续:关于上面写的apache下只能代理一个resin下的web项目,最近找到了解决的办法,可以同时代理resni下的多个web项目。
方法:在上面说的基础上,不修改resin的根目录,即document-directory标签的值,默认还是resin的Root,在Apache配置文件中,代理映射在上面的基础上只需要修改:
<VirtualHost *:80>
ServerName zjdlove.51vip.biz
ServerAlias zjdlove.51vip.biz *.zjdlove.51vip.biz
DocumentRoot D:/resin/webapps/51dw
AddHandler caucho-request jsp
<LocationMatch /*>
SetHandler caucho-request
</LocationMatch>
<LocationMatch "/WEB-INF/">
AllowOverride None
deny from all
</LocationMatch>
<Directory "D:/resin/webapps/51dw">
只需要修改为:
<VirtualHost *:80>
ServerName zjdlove.51vip.biz
ServerAlias zjdlove.51vip.biz *.zjdlove.51vip.biz
DocumentRoot D:/resin/webapps/51dw
AddHandler caucho-request jsp
<LocationMatch /51dw/>
SetHandler caucho-request
</LocationMatch>
<LocationMatch "/WEB-INF/">
AllowOverride None
deny from all
</LocationMatch>
<Directory "D:/resin/webapps/51dw">
Allow from all
</Directory>
</VirtualHost>
Allow from all
</Directory>
</VirtualHost>
这样,resin下面根目录Root没有修改,则就可以配置多个web项目的转发了。
上一篇: maven热部署之resin配置
下一篇: 如何解决前端跨域问题
推荐阅读
-
windows下整合Apache+IIS+Resin
-
windows下zookeeper的安装配置与简单部署
-
Windows 下 Nginx + PHP 配置
-
Windows系统下MySQL添加到系统服务方法(mysql解压版)
-
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
-
Windows 2003下Tomcat和IIS共用80端号(双IP) IISTomcatWindowsWeb浏览器
-
Windows下Python2与Python3两个版本共存的方法详解
-
windows系统下安装memcache
-
windows环境下Mysql中文乱码问题解决方法
-
MySQL学习第三天 Windows 64位操作系统下验证MySQL