我們?cè)趯?shí)際部署網(wǎng)站系統(tǒng)時(shí),都是要綁定到80端口的,這樣用戶在訪問(wèn)的時(shí)候就可以避免在網(wǎng)站域名后帶上端口號(hào)了,這是部署網(wǎng)站的基本要求。
根據(jù)不同的web服務(wù)器環(huán)境,我們經(jīng)常要在同一臺(tái)物理服務(wù)器上部署多個(gè)站點(diǎn),很多情況下,甚至需要在同一臺(tái)物理服務(wù)器上同時(shí)部署php網(wǎng)站程序,asp網(wǎng)站程序,java+jsp網(wǎng)站程序。
當(dāng)然可以選擇的web服務(wù)器很多,例如apahce,ngnix,iis等等。Iis服務(wù)器可以通過(guò)配置來(lái)支持php等其它各種腳本語(yǔ)言,所以選擇什么web服務(wù)器并不是重點(diǎn),因?yàn)槲覀兛梢酝ㄟ^(guò)擴(kuò)展讓我們的web服務(wù)器支持其它各種腳本執(zhí)行環(huán)境。
這里主要解決的是在iis 服務(wù)器背景下,如何配置多網(wǎng)站共用80端口。我們以兩個(gè)python 網(wǎng)站程序和一個(gè)php網(wǎng)站程序?yàn)槔齺?lái)說(shuō)明。關(guān)于如何配置iis讓其支持python和php 程序大家可以關(guān)注我的微信服務(wù)號(hào):gohi668 了解。
1.????預(yù)備
我們首先要準(zhǔn)備好經(jīng)過(guò)充分測(cè)試的網(wǎng)站程序,這里我有兩個(gè)python web 程序和一個(gè)php web 程序。通過(guò)遠(yuǎn)程桌面連接到阿里云服務(wù)器,在服務(wù)器的c盤根目錄下創(chuàng)建一個(gè)文件夾websroot,將我們的兩個(gè)python web 程序拷貝到該文件夾下:如圖中的officalweb和tmart。

圖1 :python web 網(wǎng)站目錄
?登錄阿里云控制臺(tái)-域名管理模塊,按照下圖所示配置域名映射:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖2? 域名映射配置
其中47.106.142.160 是我的阿里云服務(wù)器的外網(wǎng)ip地址,我的主域名是meimichao.com。
完整的域名是由主機(jī)記錄+主域名構(gòu)成的,這樣我們就配置了三個(gè)域名:booksiss.meimichao.com,tmart.meimichao.com,www.meimichao.com。當(dāng)我們?cè)赾md 命令行中ping 這三個(gè)域名的時(shí)候,返回的ip地址都是47.106.142.160。說(shuō)明三個(gè)域名都是指向了我的阿里云服務(wù)器。
2.??配置iis 域名綁定
? 在iis 中新建一個(gè)網(wǎng)站,物理路徑指向我們?cè)陬A(yù)備工作中圖1 中的officalweb,ip 地址選擇“全部未分配”,端口設(shè)置成80,主機(jī)名處填寫(xiě)我們?cè)陬A(yù)備工作中所配置的域名,我們這里使用www.meimichao.com這個(gè)域名。如圖3.

圖3? iis網(wǎng)站設(shè)置
經(jīng)過(guò)這一步的配置以后,當(dāng)我們?cè)跒g覽器中輸入域名www.meimichao.com的時(shí)候,將會(huì)打開(kāi)我們的officalweb這個(gè)網(wǎng)站。
按照同樣的步驟,配置網(wǎng)站tmart,如圖4.

圖4? tmart網(wǎng)站配置
兩個(gè)網(wǎng)站都是80端口,他們之間是通過(guò)主機(jī)名區(qū)分的,當(dāng)我們?cè)L問(wèn)www.meimichao.com的時(shí)候,iis會(huì)路由到officalweb網(wǎng)站,當(dāng)我們?cè)L問(wèn)tmart.meimichao.com的時(shí)候,iis會(huì)將請(qǐng)求路由到tmart 網(wǎng)站。
3.?????通過(guò)請(qǐng)求轉(zhuǎn)發(fā)配置php web網(wǎng)站
?前面我們配置的都是同一類型的python web網(wǎng)站,直接在iis里面配置,而且可以共用80端口。但是,如果我們還有一個(gè)php網(wǎng)站呢,當(dāng)然你可以通過(guò)擴(kuò)展iis 支持php來(lái)直接在iis 里面配置php網(wǎng)站,同樣可以讓php web網(wǎng)站和python web 網(wǎng)站一樣共用80端口,具體配置方法可以關(guān)注微信服務(wù)號(hào):gohi6668 詳細(xì)了解。
我們這里教大家另外一種方法。
因?yàn)榇蟛糠值耐瑢W(xué)習(xí)慣使用wamp,lamp或者phpnow這樣的套件來(lái)運(yùn)行php網(wǎng)站,所以我們這里來(lái)看看如何將運(yùn)行在這些環(huán)境的php web 程序和iis 共用80端口,換句話說(shuō),也就是如何在一個(gè)已經(jīng)配置了多個(gè)iis 80 端口網(wǎng)站的服務(wù)器上,再部署一個(gè)運(yùn)行在wamp,lamp或者phpnow環(huán)境中的php web 網(wǎng)站,而且同樣可以直接通過(guò)80端口訪問(wèn)。
我們以phpnow 為例。
首先下載phpnow
上傳到服務(wù)器,直接解壓。得到如圖5的目錄結(jié)構(gòu)。

圖5 phpnow 解壓后的目錄結(jié)構(gòu)
將我們的php web程序上傳到圖5 中的htdocs 目錄下。
然后打開(kāi)服務(wù)器上的命令行窗口,進(jìn)入到如圖6 所示的目錄,執(zhí)行Setup.Cmd,如圖6.

默認(rèn)開(kāi)啟phpnow的配置過(guò)程,按照提示選擇配置項(xiàng),建議一直敲回車,保留默認(rèn)配置的取值即可。
完成以后,我們就可以實(shí)現(xiàn)在同一臺(tái)物理服務(wù)器上同時(shí)運(yùn)行多個(gè)不同后臺(tái)腳本語(yǔ)言的web 網(wǎng)站了,而且所有的這些網(wǎng)站都是共用了80端口,這樣我們的用戶就可以直接在瀏覽器中輸入域名訪問(wèn),不需要帶端口號(hào)了。
下面是我配置的三個(gè)網(wǎng)站,大家可以看到這三個(gè)網(wǎng)站都位于同一個(gè)一級(jí)域名下,而且共用了80端口。

??????????????? 圖6? 網(wǎng)站1

圖7? 網(wǎng)站2

圖8? 網(wǎng)站3
大家在具體配置過(guò)程中遇到什么技術(shù)問(wèn)題,或者需要開(kāi)發(fā)微信方面的系統(tǒng)或應(yīng)用,都可以聯(lián)系我們wx:walkingman_c。