apache转发实现和iis共用80端口
最近做了一个php 的网站www.shandongdazhihui.com ,本地测试一切完好,但是放到服务器上发布的时候却出现了问题:由于服务器上已经有了一个asp 的网站www.baoli20.c
最近做了一个php 的网站www.shandongdazhihui.com ,本地测试一切完好,但是放到服务器上发布的时候却出现了问题:由于服务器上已经有了一个asp 的网站www.baoli20.com ,所以80端口被iis 占用了,apache 无法启动服务,php 网站也就无法发布。我在网上搜索各种资料,但是都没有成功。苦闷了三天之后终于发现密钥,现分享如下: apache我用的是Apmserv5.2.6版本。
1、首先安装Apmserv5.2.6;
2、把原来的iis 服务关闭,并把iis 服务端口改成非80,比如8081端口;
3、再接着打开apache 的httpd.conf 文件开始配置,
要让apache 支持转发也就是做iis 的代理,那么就要先启用apache 的代理模块: #LoadModule proxy_module modules/mod_proxy.so
-->LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
-->LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
-->LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
-->LoadModule proxy_http_module modules/mod_proxy_http.so
然后再包含httpd-vhosts.conf 文件:
#Include conf/extra/httpd-vhosts.conf
-->Include conf/extra/httpd-vhosts.conf
保存httpd.conf 。
4、打开httpd-vhosts.conf 文件,开始配置虚拟机。
NameVirtualHost *:80
ServerAdmin b@b.com(随便填)
ServerName www.shandongdazhihui.com (apache 网站的域名)
DocumentRoot "X:/APMServ5.2.6/www/htdocs/xxx" (apache 网站根目录)
ProxyPreserveHost On
ServerAdmin a@a.com (随便填)
ServerName www.baoli20.com (iis 网站的域名)
DefaultLanguage zh-CN
,AddDefaultCharset GB2312
ProxyPass / http://www.baoli20.com:8081/
ProxyPassReverse / http://www.baoli20.com:8081/ (iis 网站域名加端口,这就是apache 代理指向)
如果iis 需要发布的网站不止一个那么后边可以继续添加其他网站
ProxyPreserveHost On
ServerAdmin c@c.com (随便填)
ServerName www.haifu168.com (iis 网站的域名)
DefaultLanguage zh-CN
AddDefaultCharset GB2312
ProxyPass / http://www.haifu168.com:8081/
ProxyPassReverse / http://www.haifu168.com:8081/ (iis 网站域名加端口,这就是apache 代理指向)
保存httpd-vhosts.conf 文件。
5、重启apache 服务器和iis 服务器。
好了,大功告成,访问两个域名www.baoli20.com 和www.shandongdazhihui.com 都可以正常访问了。实现了apache 和iis 共享80端口,一个服务器实现两种平台共同发布网站。