1. 程式人生 > >nginx反向代理,多域名站點配置個人總結!

nginx反向代理,多域名站點配置個人總結!

首先個人理解的反向代理就像一臺伺服器A,前端請求到這個伺服器A,然後這個伺服器A會轉發到另一個伺服器,就像我們有時候需要apache伺服器放web,tomcat部署java專案,或者某個檔案伺服器放檔案圖片,這樣我們以一個nginx伺服器為中介,如果接收是請求web專案的域名就轉發到apache伺服器,如果是java專案的域名就轉發tmcat伺服器,接收到路徑含有file,images欄位就轉發到檔案伺服器。然後我理解的負載均衡,就是基於這樣的基礎,我們可能部署很多臺伺服器,如果請求使用者量過多,伺服器就會轉發給空閒的伺服器處理使用者請求並響應,緩解伺服器高併發壓力。

明白了反向代理,是通過nginx伺服器代理,訪問不同的域名不同的埠(多個伺服器域名和埠不可能重複)之間轉發,比如,我想使用者訪問域名為www.web.cn:8888,nginx會幫我轉發請求到其中一個apache什麼的web伺服器,如果是www.java.cn:8080,nginx就幫我轉發給其他一個tomcat伺服器做處理。要做到這樣多站點多域名的轉發,我們只要配置一下nginx代理伺服器的nginx.conf檔案就可以了,可以直接在裡面配置,也可以多建立幾個conf檔案,讓nginx.conf檔案include包含他們,系統會自動掃描那些conf檔案。這樣配置後,當我們訪問某個域名時候,nginx會主動轉發到配置那個域名的conf檔案,裡面的root配置的就是伺服器指向的專案執行根目錄,或者配置反向代理proxy_pass 轉發的域名

,這樣就反向代理轉發到你想轉發的伺服器路徑。

這裡借用別人一張圖,我添加了一些說明。

以上看法純屬個人觀點,如有唐突,還望見諒,謝謝訪問!!!