Apache與IIS共用端口的解決方法集
2024-08-27 18:30:16
供稿:網(wǎng)友
經(jīng)過(guò)一陣穩(wěn)定性的考慮后,公司的網(wǎng)站決定采用IIS作管理平臺(tái),Apache做訪問(wèn)平臺(tái),但服務(wù)器對(duì)外開(kāi)放的端口數(shù)實(shí)在太少,如何使Apache和IIS共用一個(gè)端口,而兩者兼顧?Google一下,找到以下方法,開(kāi)始實(shí)踐。。。。
為調(diào)試程序,本機(jī)安裝iis與apache,無(wú)法同時(shí)使用80端口,現(xiàn)給出解決方法:
方法一:原文地址
IIS5,多IP下共存,IIS為192.168.0.1,apache為192.168.0.2
c:/Inetpub/Adminscripts
cscript adsutil.vbs set w3svc/disablesocketpooling true
該命令反饋如下disablesocketpooling : (BOOLEAN) True
重啟IIS
Inetpub/AdminScripts>cscript adsutil.vbs set w3svc/disablesocketpooling true
由于 DisableSocketPooling 在 IIS 6.0 元數(shù)據(jù)庫(kù)架構(gòu) (MBSchema.xml) 中被定義為有效屬性,所以,您仍然可以使用 Adsutil.vbs 設(shè)置該屬性,但這種設(shè)置不起作用。IIS 6.0 中的功能是新增的核心級(jí)別驅(qū)動(dòng)程序 HTTP.sys 的一部分。要配置 HTTP.sys,您必須使用 Httpcfg.exe
方法二:原文地址
IIS6,多IP下共存,IIS為192.168.0.1,apache為192.168.0.2 到2003的CD下的 support/tools/Support.cab。解壓出httpcfg.exe文件,COPY到windows/system32/目錄下,用法自己看幫助
命令行
綁定到某IP: httpcfg set iplisten -i 192.168.0.1
即命令使用IIS的只監(jiān)聽(tīng)指定的IP及端口
查看綁定: httpcfg query iplisten
刪除綁定: httpcfg delete iplisten -i 192.168.0.1
命令行
net stop Apache2
net stop iisadmin /y
net START Apache2
net START w3svc
保證iis下的ip設(shè)置為全局默認(rèn),Apache中httpconf設(shè)置listen 192.168.0.2:80,就應(yīng)該可以?xún)蓚€(gè)服務(wù)同時(shí)運(yùn)行,相互不沖突了。
IIS的訪問(wèn)地址為,Apache訪問(wèn)地址為
方法三:
網(wǎng)上常用的單IP共用80端口方法,不過(guò)不推薦,只是使用Apache的代理,速度有影響將apache設(shè)為使用80端口,IIS使用其它端口,比如81,然后將apache作為IIS的代理。
在httpd.conf里面,取消下面四行的注釋?zhuān)?BR>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
然后建立一個(gè)虛擬主機(jī),將該域名的所有訪問(wèn)轉(zhuǎn)向81端口。
ServerName iloves.vicp.net
ProxyPass / :81/
ProxyPassReverse / :81/
這樣,對(duì)外就可以只需要一個(gè)端口,即可同時(shí)使用apache和IIS的功能了
類(lèi)推,使用第二種方法,你可以在IIS上配置PHP4,Apache2中配置PHP5,只需要IIS中安裝PHP4,把php.ini復(fù)制到/windows目錄即可,這個(gè)就不用說(shuō)了吧,Apache2中,只要把PHP5的php.ini放在PHP5安裝目錄里面就行了
配置Apache以支持PHP5:
LoadModule php5_module "D:/PHPServer/PHP5/php5apache2.dll"
AddType application/x-httpd-php .php
DirectoryIndex index.html index.php
PHPIniDir "D:/PHPServer/PHP5"
其中最重要的一條就是 PHPIniDir,用來(lái)指明php.ini文件所在位置,即PHP5的安裝目錄,注意所有目錄的應(yīng)該改為D:/PHPServer/PHP5這種格式,而非D:/PHPServer/PHP5,IIS的訪問(wèn)地址為,Apache訪問(wèn)地址為