程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP基礎知識 >> Apache和IIS共享80端口的四個方法

Apache和IIS共享80端口的四個方法

編輯:PHP基礎知識
 

IIS默認綁定80端口是0.0.0.0 有時候服務器上需要指定綁定ip所以需要指定80端口的ip

方法一:
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 元數據庫架構 (MBSchema.xml) 中被定義為有效屬性,所以,您仍然可以使用 Adsutil.vbs 設置該屬性,但這種設置不起作用。IIS 6.0 中的功能是新增的核心級別驅動程序 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的只監聽指定的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設置為全局默認,Apache中httpconf設置listen 192.168.0.2:80,就應該可以兩個服務同時運行,相互不沖突了。
IIS的訪問地址為http://192.168.0.1,Apache訪問地址為http://192.168.0.2
提醒:IIS要指定為IP地址192.168.0.1 端口80;Apache 設置listen 192.168.0.2:80。關鍵是IIS用httpcfg命令綁定後,要重啟系統,僅僅重啟服務是不行的。

方法三:
將apache設為使用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

然後建立一個虛擬主機,將該域名的所有訪問轉向81端口。

ServerName iloves.vicp.net
ProxyPass / http://localhost:81/
ProxyPassReverse / http://localhost:81/

這樣,對外就可以只需要一個端口,即可同時使用apache和IIS的功能了

方法四:
網上常用的單IP共用80端口方法,不過不推薦,只是使用Apache的代理,速度有影響將apache設為使用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
然後建立一個虛擬主機,將該域名的所有訪問轉向81端口。
ServerName iloves.vicp.net
ProxyPass / http://localhost:81/
ProxyPassReverse / http://localhost:81/
這樣,對外就可以只需要一個端口,即可同時使用apache和IIS的功能了
類推,使用第二種方法,你可以在IIS上配置PHP4,Apache2中配置PHP5,只需要IIS中安裝PHP4,把php.ini復制到\windows目錄即可,這個就不用說了吧,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的安裝目錄,注意所有目錄的應該改為D:/PHPServer/PHP5這種格式, 而非D:\PHPServer\PHP5,IIS的訪問地址為http://192.168.0.1,Apache訪問地址為http: //192.168.0.2

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved