Apache與IIS共用端口的解決方法集
更新時(shí)間:2007年01月05日 00:00:00 作者:
經(jīng)過一陣穩(wěn)定性的考慮后,公司的網(wǎng)站決定采用IIS作管理平臺,Apache做訪問平臺,但服務(wù)器對外開放的端口數(shù)實(shí)在太少,如何使Apache和IIS共用一個(gè)端口,而兩者兼顧?Google一下,找到以下方法,開始實(shí)踐。。。。
為調(diào)試程序,本機(jī)安裝iis與apache,無法同時(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ù)庫架構(gòu) (MBSchema.xml) 中被定義為有效屬性,所以,您仍然可以使用 Adsutil.vbs 設(shè)置該屬性,但這種設(shè)置不起作用。IIS 6.0 中的功能是新增的核心級別驅(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)聽指定的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)該可以兩個(gè)服務(wù)同時(shí)運(yùn)行,相互不沖突了。
IIS的訪問地址為http://192.168.0.1,Apache訪問地址為http://192.168.0.2
方法三:
網(wǎng)上常用的單IP共用80端口方法,不過不推薦,只是使用Apache的代理,速度有影響將apache設(shè)為使用80端口,IIS使用其它端口,比如81,然后將apache作為IIS的代理。
在httpd.conf里面,取消下面四行的注釋:
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ī),將該域名的所有訪問轉(zhuǎn)向81端口。
ServerName iloves.vicp.net
ProxyPass / http://localhost:81/
ProxyPassReverse / http://localhost:81/
這樣,對外就可以只需要一個(gè)端口,即可同時(shí)使用apache和IIS的功能了
類推,使用第二種方法,你可以在IIS上配置PHP4,Apache2中配置PHP5,只需要IIS中安裝PHP4,把php.ini復(fù)制到\windows目錄即可,這個(gè)就不用說了吧,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,用來指明php.ini文件所在位置,即PHP5的安裝目錄,注意所有目錄的應(yīng)該改為D:/PHPServer/PHP5這種格式,而非D:\PHPServer\PHP5,IIS的訪問地址為http://192.168.0.1,Apache訪問地址為http://192.168.0.2
為調(diào)試程序,本機(jī)安裝iis與apache,無法同時(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ù)庫架構(gòu) (MBSchema.xml) 中被定義為有效屬性,所以,您仍然可以使用 Adsutil.vbs 設(shè)置該屬性,但這種設(shè)置不起作用。IIS 6.0 中的功能是新增的核心級別驅(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)聽指定的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)該可以兩個(gè)服務(wù)同時(shí)運(yùn)行,相互不沖突了。
IIS的訪問地址為http://192.168.0.1,Apache訪問地址為http://192.168.0.2
方法三:
網(wǎng)上常用的單IP共用80端口方法,不過不推薦,只是使用Apache的代理,速度有影響將apache設(shè)為使用80端口,IIS使用其它端口,比如81,然后將apache作為IIS的代理。
在httpd.conf里面,取消下面四行的注釋:
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ī),將該域名的所有訪問轉(zhuǎn)向81端口。
ServerName iloves.vicp.net
ProxyPass / http://localhost:81/
ProxyPassReverse / http://localhost:81/
這樣,對外就可以只需要一個(gè)端口,即可同時(shí)使用apache和IIS的功能了
類推,使用第二種方法,你可以在IIS上配置PHP4,Apache2中配置PHP5,只需要IIS中安裝PHP4,把php.ini復(fù)制到\windows目錄即可,這個(gè)就不用說了吧,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,用來指明php.ini文件所在位置,即PHP5的安裝目錄,注意所有目錄的應(yīng)該改為D:/PHPServer/PHP5這種格式,而非D:\PHPServer\PHP5,IIS的訪問地址為http://192.168.0.1,Apache訪問地址為http://192.168.0.2
相關(guān)文章
Linux Apache Web 服務(wù)器(續(xù)一)
四、配置Apache基礎(chǔ)篇,讓W(xué)WW服務(wù)器跑起來 Apache服務(wù)器軟件的配置文件主要有:“access.conf”:用于設(shè)置系統(tǒng)中的存取方式和環(huán)境;“httpd.conf”:用于設(shè)置服務(wù)器啟動(dòng)的基本環(huán)境;“srm.conf”:主要用于做文件資源上的設(shè)定;“mime.type”:記錄Apache服務(wù)器所能識別的MIME格式。2008-03-03
用 win2003 架設(shè)共享服務(wù)器 的圖文教程
用 win2003 架設(shè)共享服務(wù)器 的圖文教程...2007-06-06
[windows服務(wù)器]serv-u登陸信息設(shè)置
[windows服務(wù)器]serv-u登陸信息設(shè)置...2006-12-12

