Apache和IIS是目前被广泛使用的两种Web服务器软件,其中Apache是开源软件,不仅用于Unix系统,也有基于Win32平台的版本;IIS是Windows操作系统自带的组件,也提供了强大的Internet和Intranet服务功能。这两种服务器软件各有特色,前者对ASP+Access的支持比较好,而后者是PHP+MySQL平台不二的选择。

我的服务器上要分别运行基于ASP+Access和PHP+MySQL平台下的不同站点,考虑到重新配置IIS,使其支持PHP+MySQL,或者重新配置Apache使其能支持ASP+Access。这两种方法虽然从技术上都能够实现,但配置过程较复杂,不易于推广,不利于初学者使用。我经过一段时间的摸索,终于找到了一种使IIS和Apache共存,快速搭建同时支持ASP+Access和PHP+MySQL平台的方法,使用一个多月以来,非常稳定,现简述配置方法如下。

软件准备

1. 在服务器(我使用的操作系统为Windows 2003)上安装并配置好IIS,将站点A(ASP+Access)端口改为8080,因为默认的Apache配置使用的是80端口,如果不修改IIS的默认端口,会导致下面的Apache+PHP+MySQL套件无法安装。

2. 从以下地址下载DedeAMPZ-PHP环境整合套件:http://bbs.dedecms.com/86501.html,我推荐您使用服务器版本DedeAMPZForServer.zip。

安装DedeAMPZ For Server

2003系统下的Apache+PHP+MySQL运行环境快速集成安装套件,安装后系统中就会包含以下程序:php5、MySql5、Apache2.2、Zend Optimizer-3.3.0,用户无需修改任何配置文件。对初学者来说,它是安装最方便、最快速的一款Web服务器平台。

第一步,运行压缩文件内的DedeAMPZForServer.exe程序,安装DedeAMPZForServer 集成套件;
安装教程:http://help.dedecms.com/archives/install/3/
视频教程:http://help.dedecms.com/video/quickstart/

第二步,安装完毕后浏览器会自动访问http://localhost/initdede.php 并下载Dedecms网站程序;
您也可以访问http://localhost/phpinfo.php 来查看您系统中的环境配置.

第三步,安装网站程序时所有的网站信息您都可以自己录入,包括数据库名称和表前缀等等;

第四步,将站点A(IIS)和站点B(php)的域名都解析到服务器所在的公网IP。

现在通过站点A(IIS)和站点B(php)的访问都指向到了站点B上,因为默认的Apache配置使用的是80端口,此要想让站点A正常访问只有其网址后面输入端口号8080才行。不过总不能让访问站点A(IIS)的朋友都在网址后面输入一个端口号吧,没关系,只要按照下面的方法在Apache里稍做设置就可以直接使用域名访问了。

设置Apache作为IIS的代理

1. 加载Apache的代理模块

您可以打开DedeAMPZ管理程序界面,选择”修改WEB全局配置”按钮并开打..
也可以找到*:\DedeAMPZ\Program\Apache\conf\httpd.conf,用记事本打开;
我们所看到的都是DedeAMPZ给我们写好的内容,但这并不包含用Apache作为IIS的代理功能.所以我们要添加来实现IIS与Apache的并存。
把我所罗列出来的四条内容添加到“LoadModule userdir_module modules/mod_userdir.so”下面即可!

#以下四条是Apache为IIS增加的代理
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. 建立虚拟主机,进行端口重定向

将站点A(IIS)域名的所有访问转向8080端口,再次在httpd.conf末尾增加以下内容
(注意:将以下内容添加到”Include conf/httpd-vhosts.conf”上方,并不是内容最下方):

ServerName www.localhost.com #(填写A(IIS)对应站点的域名列表)

ProxyPass / http://www.localhost:8080/

ProxyPassReverse / http://www.localhost:8080/

如果你的IIS中有多个站点,只要按照以上步骤在Apache中建立多个域名列表(虚拟主机)就可以了。

以上两步操作完成后,保存httpd.conf文件,重启Apache服务。
提示Apache服务启动成功后,在开启IIS中对应站点就OK了。

这样简单的几步操作就快速实现了IIS和Apache共存,基于ASP+Access平台的站点可以直接放在IIS里运行,基于PHP+MySQL的站点则运行在Apache下。估计大家IIS的站可能要比PHP的站多吧,如果这样一个个去添加是有点小麻烦。能不能用IIS做Apache的代理呢?我也不清楚到底有没有..
OK,那就要你去找下吧..呵呵!!

______________________________

作者信息:
QQ:508266 允灿
E-Mail:yuncan@vip.qq.com


评论

该日志第一篇评论

发表评论

评论也有版权!

无觅相关文章插件