此文感謝 華天 提供,僅發(fā)表收錄,版權(quán)歸原作者所有
1、服務(wù)器IP假設(shè)為111.111.111.111,操作系統(tǒng)為Windows 2003 server
2、IIS中有一個(gè)asp.net站點(diǎn),域名為www.a.com,并且已綁定,初始端口為80
3、現(xiàn)在需要?jiǎng)?chuàng)建一個(gè)PHP站點(diǎn),需要使用web服務(wù)器為Apache。域名為www.b.com
提出的問(wèn)題:
當(dāng)客戶端提交http時(shí),默認(rèn)是80端口,而IIS默認(rèn)是80端口,當(dāng)訪問(wèn)www.a.com時(shí),站點(diǎn)自動(dòng)由IIS解釋。但訪問(wèn)www.b.com時(shí),由于服務(wù)器是Apache,端口是80,顯然此時(shí)服務(wù)器上的IIS和Apache沖突,當(dāng)然你可以改變IIS和Apache的端口。但你不希望用戶訪問(wèn)站點(diǎn)是需要加上端口(http://www.a.com:8080)吧?
解決方案,步驟:
使用apache來(lái)代理IIS,從而達(dá)到虛擬的Apache和IIS的整合。即當(dāng)用戶請(qǐng)求a.com和b.com時(shí),統(tǒng)一由Apache來(lái)解釋,然后Apache將virualhost自動(dòng)轉(zhuǎn)向給IIS。
1、將IIS端口設(shè)置為8080。此處略。訪問(wèn)http://www.a.com:8080即可看到IIS中的asp.net站點(diǎn)。
2、安裝Apache,這里下載的是apache2.2,注意,請(qǐng)下載msi的win32程序,因?yàn)椴僮飨到y(tǒng)是Windows.安裝后請(qǐng)將Apache端口設(shè)置為80.安裝的最后有提示,此處細(xì)節(jié)省略。
3、開始配置虛擬主機(jī)。找到apache安裝目錄下conf下的httpd.conf,用記事本打開。
找到這四行,將注釋去掉(即去掉每行前面的#號(hào))
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
在其中加上
NameVirtualHost 111.111.111.111:80
<VIRTUALHOST 111.111.111.111:80>
ServerAdmin a@a.com
ServerName www.a.com
DefaultLanguage zh-CN
AddDefaultCharset GB2312
ProxyPass / http://www.a.com:8080/
ProxyPassReverse / http://www.a.com:8080/
</VIRTUALHOST>
上述代碼就是將Apache的請(qǐng)求轉(zhuǎn)向了IIS,保存文件后,重新啟動(dòng)Apache。
此時(shí)請(qǐng)?jiān)L問(wèn)www.a.com,是不是和www.a.com:8080一樣呢!
OK!a站點(diǎn)虛擬成功!至于B站點(diǎn)可以有詳細(xì)的配置,例如默認(rèn)文檔等等,此處省略。
PHP站點(diǎn)配置將在以后配置!
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=2234329
聯(lián)系客服