公司服务器一直都是采用PHP环境搭建的株洲都市在线论坛作为地方门户网站,今天接到部门要求,需要另外多加入一个正规的门户网站,论坛作为附属网站作为给网友交流之用,这次的服务器改动比较大,最为关键的是以前服务器只有Apache环境,目前公司开发出来的门户网站是采用的SQL2005+.NET2.0环境,但是又不愿意多增加一台服务器的情况下,我只有硬着头皮在一台服务器上实现Apache+IIS共用80端口。

    其他的SQL2005安装等等都好说,关键就是两个不同环境不同源码的网站要共同占用80端口,在百度查询了很多资料都是模凌两可,没有什么具体的解说,因为百度搜索到的都是Apache独立环境下的教程,而不是我目前服务器上APMServ5.2.6集成环境,所以有很大的出入,在研究了差不多4个小时的时间之后,总算是解决了这个问题,现在把我的解决方法公布出来,希望更多的人能在应对其它特殊环境下的应用。

    先说说我配置之前服务器的配置环境,APMServ5.2.6集成PHP环境:

Apache 2.2.9          [HTTP服务器]
Nginx 0.7.19          [HTTP服务器]
NetBox 2.8 Build 4128 [HTTP服务器+ASP脚本解释引擎]
PHP 5.2.6             [PHP脚本解释引擎]
MiniPerl 5.8          [Perl脚本解释器]
Memcached 1.2.4       [key-value内存缓存系统]
MySQL 5.1.28          [MySQL数据库服务器]
MySQL 4.0.26          [MySQL数据库服务器]
phpMyAdmin 2.11.9.2   [MySQL数据库在线管理工具]
eAccelerator 0.9.5.3  [PHP脚本加速引擎]
ZendOptimizer 3.3.3   [PHP脚本加速引擎]
OpenSSL 0.9.8h        [HTTPS(SSL)安全传输协议]

 

第一步:安装好SQL2005数据库和IIS6.0(windows2003自带),将IIS的端口改为81端口(Apache环境以及占用了80端口);
 


第二步:配置Apache环境,让Apache能够作为代理访问81端口;

(1)修改“D:\APMServ5.2.6\Apache\conf”目录下httpd.conf文件:

找到下面几行文字,将前面面的#去掉,就可以打开代理功能

 
    
  1. LoadModule proxy_module modules/mod_proxy.so 
  2. LoadModule proxy_connect_module modules/mod_proxy_connect.so 
  3. LoadModule proxy_http_module modules/mod_proxy_http.so 
  4. LoadModule proxy_ftp_module modules/mod_proxy_ftp.so 

如图:


注:另外检查httpd.conf文件下是否要包含httpd-vhosts.conf文件,如果下述文字前方有#,就把他去掉

 
    
  1. # Virtual hosts 
  2. Include conf/extra/httpd-vhosts.conf

如图:

 


(2)接着在“D:\APMServ5.2.6\Apache\conf\extra”的目录下的httpd-vhosts.conf文件,添加apache和IIS下的虚拟主机信息:

IIS下的虚拟主机配置范例:

 
    
  1.  
  2.     ProxyPreserveHost On 
  3.     ServerAdmin [email protected] 
  4.     ServerName www.zzccoo.com 
  5.     ServerAlias zzccoo.com  *.zzccoo.com 
  6.     DefaultLanguage zh-CN 
  7.     AddDefaultCharset GB2312 
  8.     ProxyPass / http://www.zzccoo.com:81/ 
  9.     ProxyPa***everse / http://www.zzccoo.com:81/ 
  10.  

apache下的虚拟主机配置范例:

 
    
  1.  
  2.     ServerAdmin [email protected] 
  3.     ServerName www.zhuzho.com 
  4.     ServerAlias zhuzho.com *.zhuzho.com 
  5.     DocumentRoot “d:/zhuzho” 
  6.  


    记住IIS下应建立tcp端口为81的同一域名网站,才能实现转发。当然上述配置修改保存后,要重启IIS和Apache才能生效。

大家可以看我网站实例:

http://bbs.zzccoo.com/  是株洲都市在线论坛,是以搭建在PHP环境上的80端口

http://www.zzccoo.com/和http://www.zzccoo.com:81/是搭建在IIS环境上的81端口,两个地址访问的是同一个页面