win2003系统APACHE、IIS6共用80端口最简单解决方案

2021-07-16 18:21

阅读:423

今天在搭建微信公众号管理平台的时候,发生了一件蛋疼的事情。就是在IIS下,PHP不支持OPENSSL。用PHPINFO()查看后,发现同一个版本的PHP,在apache下支持OPENSSL,而IIS6不支持,导致了IIS下微信公众号自定义菜单的功能发生错误。
    网络上查找了多种解决方案无效后,决定将网站迁移到APACHE中,但有一个问题,就是IIS下已经有多个网站在使用了,包括ASP、ASP.NET网站。最后决定,将PHP开发的微信公众号管理平台迁移到APACHE中,并将80端口分配给APACHE。其他网站则通过APACHE做反向代理连接到IIS进行访问。
    具体步骤如下(我用的是WAMP,步骤视不同平台而定):
    1. 在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
 2. 取消httpd.conf中
Include conf/extra/httpd-vhosts.conf前面的注释,这样apache的host配置将使用 httpd-vhosts.conf文件。
 3. 打开httpd-vhosts.conf,添加如下代码,将目录D:/wwwroot/weimeng绑定到域名www.***.com,并设置默认首页和访问权限。

  DocumentRoot "D:/wwwroot/weimeng"
  ServerName www.***.com
    
     Options FollowSymLinks IncludesNOEXEC Indexes
     DirectoryIndex index.php default.php
     AllowOverride Options FileInfo
     Order Deny,Allow
     Allow from all
    


(如果你只做代理,不架设网站,这步可以忽略) 
4.这步才是添加代理

    ServerName www.aaa.com
    ProxyRequests Off
    
        Order Deny,Allow
        Allow from all
    

    ProxyPass / http://127.0.0.1:8181/
    ProxyPassReverse / http://127.0.0.1:8181/
 
 这样访问域名www.aaa.com将通过apache指向http://127.0.0.1:8181/,而8181端口是分配给IIS的。

其它的网站也是依样画葫芦。
设置完成后,重启apache搞定。
完成后不要忘记了,在系统服务中设置wampapache、wampmysqld两个服务为自动启动,不让重启服务器或账户被注销就麻烦了。

 


评论


亲,登录后才可以留言!