让IIS和Apache共同使用80端口的方法
如果我们在一台服务器即使用IIS作为WEB服务器,同时又想使用Apache作为WEB服务器,那么如何来公用80端口呢?
我们可以使用单IP地址来实现,但是在性能上有损失:
将apache设为使用80端口,IIS使用其它端口,比如81,然后将apache作为IIS的代理。速度有影响.
在httpd.conf里面,取消下面四行的注释:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
Include conf/extra/httpd-vhosts.conf
在httpd-vhosts.conf中建立虚拟主机
<VirtualHost *:80>
ServerName www.zzzyk.com
DocumentRoot "c:/Inetput/HeyVPN.com"
</VirtualHost>
<VirtualHost *:80>
ServerName ***
ProxyPass / http://localhost:81/
ProxyPassReverse / http://localhost:81/
</VirtualHost>
如上所述配置,我们访问www.zzzyk.com时将使用Apache作为web服务器,访问***将使用IIS作为web服务器
我们可以使用双IP地址来实现,接下来具体讲讲怎么实现:
1>修改Apache的httpd.conf文件,将“Lisen 80”改为“Listen IP:80”
2>按照下图进行修改,修改前需要一个httpcfg.exe文件,这个文件在windows2003安装碟中,具体路径为:“support/tools/Support.cab/httpcfg.exe”
OK,搞定!
2003的CD下的 support/tools/Support.cab。解压出httpcfg.exe文件,COPY到windows/system32/目录下,用法自己看帮助
命令行
绑定到某IP: httpcfg set iplisten -i 192.168.0.1
即命令使用IIS的只监听指定的IP及端口
查看绑定: httpcfg query iplisten
删除绑定: httpcfg delete iplisten -i 192.168.0.1
命令行
net stop Apache2
net stop iisadmin /y
net START Apache2
net START w3svc
保证iis下的ip设置为全局默认,Apache中httpconf设置listen 192.168.0.2:80,就应该可以两个服务同时运行,相互不冲突了。
IIS的访问地址为http://192.168.0.1,Apache访问地址为http://192.168.0.2