2024年5月3日发(作者:)
服务器IIS与Apache共存,管理不同网站的两种方法
Apache和IIS是目前被广泛使用的两种Web服务器软件。其中,Apache是开源软件,
不仅用于Unix系统,也可用于基于Win32平台的版本;IIS是Windows操作系统自带的组
件,也提供了强大的Internet和Intranet服务功能。这两种服务器软件各有特色,前者对
ASP+Access(及SQLServer)的支持比较好,而后者是PHP+MySQL(及JAVA+SQLServer)
平台的不二选择;用IIS没有Apache所支持功能多,而且Apache较IIS运行速度快一点。
对于一台服务器上同时使用IIS与Apache管理网站,比如分别运行基于ASP+Access
(及SQLServer)和PHP+MySQL(及JAVA+SQLServer)站点,则无法同时使用80端口,
否则其中必定有一个启动不了。重新配置IIS使其支持PHP+MySQL,或者重新配置Apache
使其能支持ASP+Access,从理论上说是可以的,但配置过程较复杂,不易于推广使用。在
这里,我们来说明两种较为简单实用的方法,实现同一台服务器的IIS与Apache有效共存。
方法一:多IP下共存(服务器为多线接入,拥有多个IP)
针对IIS6:IIS为219.153.70.251(举例),apache为219.153.70.252(举例)。
到2003的CD下的 support/tools/。解压出文件,COPY到
windows/system32/目录下,用法看帮助
在“开始菜单-运行”中输入命令行:httpcfg set iplisten -i 219.153.70.251
说明:
绑定到指定IP,即命令使用IIS的只监听指定的IP及端口
查看绑定: httpcfg query iplisten
删除绑定: httpcfg delete iplisten -i 219.153.70.251
在“开始菜单-运行”中输入命令行:
net stop Apache2 (如果是Apache版本是2.2,则改为Apache2.2)
net stop iisadmin /y
net START Apache2
net START w3svc
保证iis下的ip设置为全局默认,并在Apache中httpconf文件设置listen
219.153.70.252:80(注意语句前的注释号#要去掉)。
注意:设置完毕后,要重启系统方可生效。现在,两个服务同时运行,相互不冲突了。
IIS的访问地址为219.153.70.251,Apache访问地址为219.153.70.252
针对IIS5的方法:
IIS为219.153.70.251,apache为219.153.70.252
c:InetpubAdminscripts
cscript set w3svc/disablesocketpooling true
该命令反馈如下disablesocketpooling : (BOOLEAN) True
重启IIS
知名品牌、优秀品质、实惠价格、专业服务——
钻石钻饰选购、定制、服务,首选八钻网()
InetpubAdminScripts>cscript set w3svc/disablesocketpooling true
由于 DisableSocketPooling 在 IIS 6.0 元数据库架构 () 中被定义为有
效属性,所以,仍然可以使用 设置该属性,但这种设置不起作用。IIS 6.0 中的
功能是新增的核心级别驱动程序 的一部分。要配置 ,必须使用
方法二:设置IIS代理
IIS和Apache及其下的网站配好后,因为默认的Apache配置使用的是80端口,所以
对各站点的访问都指向了Apache下的站点,要访问IIS下的站点则需要输入端口号。不过
总不能让访问IIS下站点的朋友都在网址后面输入一个端口号吧,没关系,只要按照下面的
方法在Apache里稍做设置就可以直接使用域名访问了。
将apache设为使用80端口,IIS使用其它端口,比如8081,然后将apache作为IIS的
代理,这种方法用的最多,但速度会有些影响。
打开文件,取消下面四行的注释:
LoadModule proxy_module modules/mod_
LoadModule proxy_connect_module modules/mod_proxy_
LoadModule proxy_http_module modules/mod_proxy_
LoadModule proxy_ftp_module modules/mod_proxy_
然后建立一个虚拟主机,将对IIS管理的域名的所有访问转向8081端口。
ServerName (示例网址)
ProxyPass / localhost:8081/
ProxyPassReverse / localhost:8081/
如果有两个以上的IIS站点,只要按照以上步骤在Apache中建立多个虚拟主机就可以
了。以上两步操作完成后,保存文件,重启Apache服务。这样就实现了IIS和
Apache共存,基于ASP平台的站点可以直接放在IIS里运行,基于PHP、JAVA的站点则运
行在Apache下。
两种方法在效率上的比较
第一种方法,IIS平台与Apache平台各自使用不同的IP,IIS网站不受Apache服务限
制,一般网站访问速度不受影响。但多线接入的服务器,在多个IP分属电信、网通,则使
用网通IP的网站,电信用户访问速度会偏慢一些,反之亦然。
第二种方法,因将apache作为IIS的代理,通常IIS网站访问速度会稍慢一些。如果
Apache不太稳定,或出现故障,就会影响到IIS网站访问。
实际应用中,目前第二种方法使用更多一些。
使用第一种方法,可以在IIS上配置PHP4,Apache2中配置PHP5,只需要IIS中安装
PHP4,把复制到windows目录即可,Apache2中,只要把PHP5
知名品牌、优秀品质、实惠价格、专业服务——
钻石钻饰选购、定制、服务,首选八钻网()


发布评论