如何让IIS与Apache共用80端口方法
<p>为调试程序,本机<a target="_blank" href="#" class="UBBWordLink">安装</a>iis与apache,无法同时使用80端口,现给出<a target="_blank" href="#" class="UBBWordLink">解决</a><a target="_blank" href="#" class="UBBWordLink">方法</a>:<br /> <a target="_blank" href="#" class="UBBWordLink">方法</a>一: <br />
<br />
IIS5,多IP下共存,IIS为192.168.0.1,apache为192.168.0.2 原文地址 <br />
c:\Inetpub\Adminscripts <br />
cscript adsutil.vbs set w3svc/disablesocketpooling true <br />
该命令反馈如下disablesocketpooling : (BOOLEAN) True <br />
重启IIS <br />
Inetpub\AdminScripts>cscript adsutil.vbs set w3svc/disablesocketpooling true <br />
由于 DisableSocketPooling 在 IIS 6.0 元数据库架构 (MBSchema.xml) 中被定义为有效属性,所以,您仍然可以使用 Adsutil.vbs <a target="_blank" href="#" class="UBBWordLink">设置</a>该属性,但这种<a target="_blank" href="#" class="UBBWordLink">设置</a>不起作用。IIS 6.0 中的功能是新增的核心级别驱动程序 HTTP.sys 的一部分。要配置 HTTP.sys,您必须使用 Httpcfg.exe <br />
<br />
<a target="_blank" href="#" class="UBBWordLink">方法</a>二: <br />
<br />
IIS6,多IP下共存,IIS为192.168.0.1,apache为192.168.0.2 原文地址 <br />
到2003的CD下的 support/tools/Support.cab。解压出httpcfg.exe文件,COPY到windows/system32/目录下,用法自己看帮助 <br />
<br />
命令行 <br />
<br />
绑定到某IP: httpcfg set iplisten -i 192.168.0.1 <br />
即命令使用IIS的只****指定的IP及端口 <br />
查看绑定: httpcfg query iplisten <br />
删除绑定: httpcfg delete iplisten -i 192.168.0.1 <br />
<br />
命令行 <br />
net stop Apache2 <br />
net stop iisadmin /y <br />
net START Apache2 <br />
net START w3svc <br />
<br />
保证iis下的ip设置为全局默认,Apache中httpconf设置listen 192.168.0.2:80,就应该可以两个<a target="_blank" href="#" class="UBBWordLink">服务</a>同时运行,相互不冲突了。 <br />
IIS的访问地址为<font color="#0000ff">http://192.168.0.1</font>,Apache访问地址为<font color="#0000ff">http://192.168.0.2</font> <br />
<br />
<a target="_blank" href="#" class="UBBWordLink">方法</a>三: <br />
<br />
网上常用的单IP共用80端口<a target="_blank" href="#" class="UBBWordLink">方法</a>,不过不推荐,只是使用Apache的代理,速度有影响将apache设为使用80端口,IIS使用其它端口,比如81,然后将apache作为IIS的代理。 <br />
<br />
在httpd.conf里面,取消下面四行的注释: <br />
LoadModule proxy_module modules/mod_proxy.so <br />
LoadModule proxy_connect_module modules/mod_proxy_connect.so <br />
LoadModule proxy_http_module modules/mod_proxy_http.so <br />
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so <br />
<br />
然后建立一个虚拟主机,将该域名的所有访问转向81端口。 <br />
<br />
ServerName iloves.vicp.net <br />
ProxyPass / <font color="#0000ff">http://localhost:81/</font> <br />
ProxyPassReverse / <font color="#0000ff">http://localhost:81/</font> <br />
<br />
这样,对外就可以只需要一个端口,即可同时使用apache和IIS的功能了 <br />
<br />
类推,使用第二种<a target="_blank" href="#" class="UBBWordLink">方法</a>,你可以在IIS上配置PHP4,Apache2中配置PHP5,只需要IIS中<a target="_blank" href="#" class="UBBWordLink">安装</a>PHP4,把php.ini复制到\windows目录即可,这个就不用说了吧,Apache2中,只要把PHP5的php.ini放在PHP5安装目录里面就行了 <br />
<br />
配置Apache以支持PHP5: <br />
<br />
LoadModule php5_module "D:/PHPServer/PHP5/php5apache2.dll" <br />
AddType application/x-httpd-php .php <br />
DirectoryIndex index.html index.php <br />
PHPIniDir "D:/PHPServer/PHP5" <br />
<br />
其中最重要的一条就是 PHPIniDir,用来指明php.ini文件所在位置,即PHP5的<a target="_blank" href="#" class="UBBWordLink">安装</a>目录,注意所有目录的应该改为D:/PHPServer/PHP5这种格式,而非D:\PHPServer\PHP5,IIS的访问地址为<font color="#0000ff">http://192.168.0.1</font>,Apache访问地址为<font color="#0000ff">http://192.168.0.2</font><br />
</p>
頁:
[1]