乌徒帮技术范儿技术中心服务器配置 › apache代理IIS:apache和IIS共存

apache代理IIS:apache和IIS共存

分类:服务器配置

win2003的服务器已经有IIS,可以正常运行asp网站,为了更好的适应php网站,以及使用apache优秀的重写功能,打算在服务器上再安装apache和php。然而,由于IIS和apache都是服务器软件,服务器默认情况下以80端口作为网站入口,所以必须要解决好IIS和apache的共存问题。

网上有很多相关的教程,有些比较复杂,分了各种情况,本文要解决的是:现有IIS,安装apache,修改IIS上网站的访问端口,让两者共存,用apache代理访问IIS,实现使用apache运行php网站,IIS运行asp网站,域名不加端口号也可以正常访问。

步骤:

1、安装apache、php、mysql等软件;

2、启动apache时会报错,因为和IIS端口冲突了,先不用管apache(停止,不启动);

3、进入IIS服务器管理平台,在各个网站的属性中修改端口号,我修改的是8080端口;修改后原域名末加:8080能再访问网站;

4、全部端口修改好之后可以启动apache,如果不能启动,可以尝试重新启动IIS服务,在启动apache,一般这时能启动了;

5、接下来对apache进行配置:

在apache安装目录中修改/conf/httpd.conf,在靠近前面的位置打开

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

这几条

在文档最后部分加上

<VirtualHost?*:80>
ServerName www.utubon.com
ProxyPass / http://www.utubon.com:8080/
ProxyPassReverse /?http://www.utubon.com:8080/
</VirtualHost>

也可以打开http-vhost在http-vhost.conf中添加这一段代码

注意:proxypass后面有些教程说使用http://localhost:8080/,我的想法是,这个地址可能并不能访问到原来的网站,而www.utubon.com:8080一定是可以访问到的。

最后一步:打开allowoveride deny等权限,在httpd.conf中修改

<Directory />
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

只要找到这样的类似的代码,修改为AllowOveride All + Allow from all + deny from none等,当然,这要根据自己的不同的需求来修。这一步的主要目的是打开其他域名的可访问权限,因为不打开访问权限,其他域名可能不能访问。

根据本文的方法基本上能解决该问题,如有疑问,可在文章后面留言交流讨论。

填写个人信息,赶快回复吧!