其實現在估計很少人會用80端口部署服務了,起碼都是443端HTTPS服務了,因為HTTPS相對更安全。
但是這不影響這個問題的解答,下面我以個人的一些看法說明下。
一個服務器只有一個常用的端口
我們都知道你只買了一臺公網服務器,默認80端口是HTTP服務,443端口是HTTPS服務。
而現在很多時候,微信、網站搜索引擎,默認都是用這些端口進行正常處理,當你有多個服務要對外開放,你如果A服務已經占用了80端口,那么B服務就不可以再占用80端口。
而你采用Nginx服務直接占用80或者443端口,那么我們根據Nginx的規則配置,就可以設置如下規則:
訪問url路徑/api 走A服務,訪問url路徑/admin 走B服務。
Nginx高性能
熟悉Nginx性能的程序員,都知道Nginx的性能之高,這里就不展開說。
因為有些編程語言框架,比如Flask,本身處理web請求就性能不高,通過Nginx可以提前處理web請求,而Flask就可以更多關注業務本身的邏輯。
Nginx負載均衡
當你的web服務后臺可以多實例部署,這時候你說的web服務直接運行80端口,那就不能支持多臺實例。
而通過nginx,就可以指向兩臺甚至多臺實例的后端服務,而且可以設置策略進行負載請求。
比如負載后端兩個web服務,A機器性能配置強,那么我們就可以分配更多的請求到A機器。
B機器性能一般,那么我們就可以減少請求到這臺機器。
Nginx安全性
因為有了Nginx服務器在前面進行處理請求,用戶根本不知道后端是用什么語言進行處理,減少后端暴露的幾率。
不過由于使用Nginx的人很多,Nginx的漏洞也是備受關注,所以要及時關注Nginx的漏洞和最新穩定版本升級。
這里提供一個檢測Nginx穩定版本的視頻解說:https://www.ixigua.com/6832886164081345038/ ,有興趣的可以看看。
Nginx資源消耗
使用Nginx服務可以占用低的內存消耗,同時能支持高并發連接,何樂而不為。
如果覺得回答能解決到一些問題,可以關注@testerzhang,我會不定期發布一些相關技術文章和視頻。