最簡單的Nginx介紹
好久沒有寫部落格了,後面部落格應該會慢慢寫起來,這裡只先寫一個對nginx最簡單的認識。
我們一般用nginx作為代理伺服器,並帶有負載均衡的作用,當我們將服務部署到多臺伺服器上的時候,如何能讓每一個伺服器都能收到請求,這就需要一個nginx伺服器將請求轉發給業務伺服器。nginx的作用就是請求來了後,通過nginx伺服器根據一定的策越轉發給一臺業務伺服器去處理。
nginx的配置檔案簡介,這是一個不完整的nginx的配置檔案,為什麼不是完整的呢,為了更加簡單的理解nginx
#這裡的域名要和下面proxy_pass的一樣 upstream fengzp.com { server 192.168.99.100:42000 weight=1; server 192.168.99.100:42001 weight=2; } server { listen 80; server_name wwww.baidu.com; location / { #location1 proxy_pass http://fengzp.com; proxy_redirect default; } error_page 500 502 503 504 /50x.html; location = /index.html { #location2 root html; } }
當nginx伺服器接受到www.baidu.com的url的請求後,執行過程如下
-
首先nginx拿到url後會去到server裡面的server_name進行匹配,如果請求的url或ip和server_name裡面的值是一致的,就會將url交給location進行匹配。
-
url會去和location後面的值進行匹配,location後面的值如果是是=開頭的那就是精準匹配,如果是~開頭的就是萬用字元匹配,如果是^開頭的就是正則匹配,匹配的優先度就是精準,統配,正則。由於請求的url是www.baidu.com,所以只能匹配到location1,然後拿到proxy_pass後面的值
-
當通過proxy_pass後面的值找到對應的upstream後,會根據upstream裡面的路由規則選擇一個ip,這個ip就是一個業務伺服器的ip了,然後nginx就將請求傳送到這個伺服器上。