欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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最后面加上下面一段代码:

<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项目的转发了。
相关标签: resin apache conf