一臺服務器,一個ip地址,能建幾個網站?80端口不會衝突嗎?

寧採塵


你可以瞭解一下“虛擬主機”(這裡指的是一臺服務器運行多個網站)與虛擬化中的虛擬主機本質上類似,都是最大化的利用服務器資源。這裡就不展開講了,想具體瞭解的話去看書吧。

微軟的IIS,開源的Apache (httpd),和 Apache tomcat還有nginx 和收費的 weblogic 等等都可以使用80端口發佈多個網站。

簡單理解的話,就是不同網站配置不同的域名,中間件根據域名來指向相應的web程序。但在不同的中間件中,可能配置方法和命名方法不太一樣而已,原理都是一樣的。


鴆鴆銪鷀


針對每一個問答都本著絕不大膽胡說,只管小心求證的態度,瘋評科技來解答您的提問。


一臺服務器一個IP,理論上可以建無數個網站,當然實際情況取決於服務器的硬件能支持多少可分配資源;80端口和443端口都是不會衝突的。


一個IP地址建多個網站的方法之一:不同端口號

我們一般網站默認端口號是80,就是輸入網址的時候可以省略掉80端口號,如果是非80端口的網站,則需要加上端口號,像 http://www.xxx.com:8080這樣的網址,很顯然,後面的端口號可以隨意定義的。

正常情況下一個IP可以有65535個端口號,除掉一些常用的端口號被佔用外,至少也可以有60000+的端口號可用,那麼用端口號來區分不同網站的話,當然可以建這麼多的網站。


一個IP地址建多個網站的方法之二:不同的主機頭

如果多個不同域名的網站綁定到同一個ip,正常操作下都會訪問到同一個網站的,為了進行區分,必須在服務器上進行主機頭的綁定。

如果只是簡單的將兩個不同的域名解析記錄指向一個ip地址,那麼網站服務器在收到任何請求時反饋的都是同一個網站的信息。

我們使用主機頭綁定域名a和b到他們對應的空間文件夾A和B。當含有域名a的web請求信息到達主機IP時,網站服務器將執行它所在的空間A中的首頁文件,並返回給客戶端,含有域名b的網頁請求信息時,執行的是空間B的文件。

因此在使用主機頭綁定功能後就不能使用ip地址訪問其他的任何網站了,因為請求信息中不存在域名信息,這樣會出錯。



因此,一臺服務器一個IP可以創建足夠多的網站,只要硬件夠強的話,如果不需要通過域名訪問,那麼設置不同的網站端口比較簡單;如果需要通過域名訪問,可以設置不同的主機頭進行網站區分即可。


瘋評科技


具體能支撐多少個網站,看你的服務器配置,代碼質量,一般一臺4核8GB的機器可以承載QPS500到2000左右,80端口衝突的問題,可以使用域名解決,如果是LNMP或者LAMP架構,可以在nginx apache上配置多域名,其他的比如go,java,c++等項目可以啟動在不同端口,通過nginx做反向代理


分享到:


相關文章: