我們在實際部署網站系統時,都是要綁定到80端口的,這樣用戶在訪問的時候就可以避免在網站域名后帶上端口號了,這是部署網站的基本要求。
根據不同的web服務器環境,我們經常要在同一臺物理服務器上部署多個站點,很多情況下,甚至需要在同一臺物理服務器上同時部署php網站程序,asp網站程序,java+jsp網站程序。
當然可以選擇的web服務器很多,例如apahce,ngnix,iis等等。Iis服務器可以通過配置來支持php等其它各種腳本語言,所以選擇什么web服務器并不是重點,因為我們可以通過擴展讓我們的web服務器支持其它各種腳本執行環境。
這里主要解決的是在iis 服務器背景下,如何配置多網站共用80端口。我們以兩個python 網站程序和一個php網站程序為例來說明。關于如何配置iis讓其支持python和php 程序大家可以關注我的微信服務號:gohi668 了解。
1.????預備
我們首先要準備好經過充分測試的網站程序,這里我有兩個python web 程序和一個php web 程序。通過遠程桌面連接到阿里云服務器,在服務器的c盤根目錄下創建一個文件夾websroot,將我們的兩個python web 程序拷貝到該文件夾下:如圖中的officalweb和tmart。
圖1 :python web 網站目錄
?登錄阿里云控制臺-域名管理模塊,按照下圖所示配置域名映射:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖2? 域名映射配置
其中47.106.142.160 是我的阿里云服務器的外網ip地址,我的主域名是meimichao.com。
完整的域名是由主機記錄+主域名構成的,這樣我們就配置了三個域名:booksiss.meimichao.com,tmart.meimichao.com,www.meimichao.com。當我們在cmd 命令行中ping 這三個域名的時候,返回的ip地址都是47.106.142.160。說明三個域名都是指向了我的阿里云服務器。
2.??配置iis 域名綁定
? 在iis 中新建一個網站,物理路徑指向我們在預備工作中圖1 中的officalweb,ip 地址選擇“全部未分配”,端口設置成80,主機名處填寫我們在預備工作中所配置的域名,我們這里使用www.meimichao.com這個域名。如圖3.
圖3? iis網站設置
經過這一步的配置以后,當我們在瀏覽器中輸入域名www.meimichao.com的時候,將會打開我們的officalweb這個網站。
按照同樣的步驟,配置網站tmart,如圖4.
圖4? tmart網站配置
兩個網站都是80端口,他們之間是通過主機名區分的,當我們訪問www.meimichao.com的時候,iis會路由到officalweb網站,當我們訪問tmart.meimichao.com的時候,iis會將請求路由到tmart 網站。
3.?????通過請求轉發配置php web網站
?前面我們配置的都是同一類型的python web網站,直接在iis里面配置,而且可以共用80端口。但是,如果我們還有一個php網站呢,當然你可以通過擴展iis 支持php來直接在iis 里面配置php網站,同樣可以讓php web網站和python web 網站一樣共用80端口,具體配置方法可以關注微信服務號:gohi6668 詳細了解。
我們這里教大家另外一種方法。
因為大部分的同學習慣使用wamp,lamp或者phpnow這樣的套件來運行php網站,所以我們這里來看看如何將運行在這些環境的php web 程序和iis 共用80端口,換句話說,也就是如何在一個已經配置了多個iis 80 端口網站的服務器上,再部署一個運行在wamp,lamp或者phpnow環境中的php web 網站,而且同樣可以直接通過80端口訪問。
我們以phpnow 為例。
首先下載phpnow
上傳到服務器,直接解壓。得到如圖5的目錄結構。
圖5 phpnow 解壓后的目錄結構
將我們的php web程序上傳到圖5 中的htdocs 目錄下。
然后打開服務器上的命令行窗口,進入到如圖6 所示的目錄,執行Setup.Cmd,如圖6.
默認開啟phpnow的配置過程,按照提示選擇配置項,建議一直敲回車,保留默認配置的取值即可。
完成以后,我們就可以實現在同一臺物理服務器上同時運行多個不同后臺腳本語言的web 網站了,而且所有的這些網站都是共用了80端口,這樣我們的用戶就可以直接在瀏覽器中輸入域名訪問,不需要帶端口號了。
下面是我配置的三個網站,大家可以看到這三個網站都位于同一個一級域名下,而且共用了80端口。
??????????????? 圖6? 網站1
圖7? 網站2
圖8? 網站3
大家在具體配置過程中遇到什么技術問題,或者需要開發微信方面的系統或應用,都可以聯系我們wx:walkingman_c。