apache和IIS共存,服務器對外統一使用80端口

apache和IIS共用80端口爲了PHP與ASP各自的執行效率,要在服務器上安裝iis與Apache,可是沒法同時使用80端口,不然其中一定有一個啓動不了。讓它們共存的而且訪問網站不須要加端口號,解決方法有以下:php

方法一:
IIS5,多IP下共存,IIS爲219.153.70.251,apache爲219.153.70.252
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.exehtml

方法二:
IIS6,多IP下共存,IIS爲219.153.70.251,apache爲219.153.70.252
到2003的CD下的 support/tools/Support.cab。解壓出httpcfg.exe文件,COPY到windows/system32/目錄下,用法看幫助
命令行
綁定到某IP: httpcfg set iplisten -i 219.153.70.251
即命令使用IIS的只監聽指定的IP及端口
查看綁定: httpcfg query iplisten
刪除綁定: httpcfg delete iplisten -i 219.153.70.251
命令行
net stop Apache2
net stop iisadmin /y
net START Apache2
net START w3svc
保證iis下的ip設置爲全局默認,Apache中httpconf設置listen 219.153.70.252:80,就應該能夠兩個服務同時運行,相互不衝突了。
IIS的訪問地址爲http://219.153.70.251,Apache訪問地址爲http://219.153.70.252數據庫

方法三:
將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.soapache

而後創建一個虛擬主機,將該域名的全部訪問轉向81端口。windows

<VirtualHost *:80>
ServerName www.xiaotai.com
ProxyPass / http://localhost:81/
ProxyPassReverse / http://localhost:81/
</VirtualHost>tomcat


這樣,對外就能夠只須要一個端口,便可同時使用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://219.153.70.251,Apache訪問地址爲http://219.153.70.252架構

一臺服務器共存jps、asp、php、asp.net也能夠按照上面的思路,讓apache、tomcat、IIS共存  app

 

補充:asp.net

上述方法三,經實際測試,必須在httpd-vhosts.conf中把NameVirtualHost *:80打開,不然多個80端口的域名解析會出問題。

相關文章
相關標籤/搜索