吕大侠在此 發表於 2008-9-8 19:43:50

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