Windows下Apache与IIS共存配置

如果你有一台Windows服务器,要同时跑ApacheIIS,那么你就需要同时装这两款软件,但是他们都使用80端口,不可以同时启动。Apache和IIS共存,解决办法就是把IIS下的网站设置为80以外的端口,然后用Apache做代理,访问IIS下的网站。

测试使用的是阿里云的windows 2003下的WANMP集成镜像,默认已经装完Apache、MySQL、PHP等,我们只要正常安装IIS即可。安装完IIS,默认网站是启动不了的,我们必须修改为其他端口,比如8080端口。本次测试使用了两个域名,一个是ali.ezloo.com,上面放置了PHP程序(这个在配置中用不到,只是证明两款软件能同时正常运行),另一个就是ali2.ezloo.com,放置asp程序。

IIS下的设置

IIS下像正常的添加网站一样,在绑定主机头的时候,端口设置为8080即可,如图:

Apache, IIS, IIS设置

此时,你可以通过浏览器访问http://ali2.ezloo.com:8080,阿里云的防火墙关闭了8080端口,你可以添加许可或则在服务器打开浏览器访问。

Apache上的配置

Apache配置主要分为两部分,一部分是设置Apache的代理,第二部分是配置ali2.ezloo.com的代理。

找到Apache的配置文件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

用控制面板新增一个域名ali2.ezloo.com,找到该域名的vhost的配置文件,修改成如下:

<VirtualHost *:80>
ServerName ali2.ezloo.com
ServerAlias ali2.ezloo.com www.ali2.ezloo.com
ProxyPass / http://ali2.ezloo.com:8080/
ProxyPassReverse / http://ali2.ezloo.com:8080/
</VirtualHost>

此时,你通过访问ali2.ezloo.com就能访问到IIS下绑定的ali2.ezloo.com:8080这个网站了。Apache与IIS可以完美共存,并且配置也比较简单。