前言
本文只針對Nginx在不載入第三方模組的情況能處理哪些事情,由於第三方模組太多所以也介紹不完,當然本文本身也可能介紹的不完整,畢竟只是我個人使用過和瞭解到過得。所以還請見諒,同時歡迎留言交流
Nginx能做什麼
1.反向 Proxy
2.負載平衡
3.HTTP伺服器(包含動靜分離)
4.正向 Proxy
以上就是我瞭解到的Nginx在不依賴第三方模組能處理的事情,下面詳細說明每種功能怎麼做
反向 Proxy
反向 Proxy應該是Nginx做的最多的一件事了,什麼是反向 Proxy呢,以下是百度百科的說法:反向 Proxy(Reverse Proxy)方式是指以Proxy 伺服器來接受internet上的串連請求,然後將請求轉寄給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求串連的用戶端,此時Proxy 伺服器對外就表現為一個反向 Proxy伺服器。簡單來說就是真實的伺服器不能直接被外部網路訪問,所以需要一台Proxy 伺服器,而Proxy 伺服器能被外部網路訪問的同時又跟真實伺服器在同一個網路環境,當然也可能是同一台伺服器,連接埠不同而已。 下面貼上一段簡單的實現反向 Proxy的代碼
server {
listen 80;
server_name localhost;
client_max_body_size 1024M;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host:$server_port;
}
}
儲存設定檔後啟動Nginx,這樣當我們訪問localhost的時候,就相當於訪問localhost:8080了
負載平衡
負載平衡也是Nginx常用的一個功能,負載平衡其意思就是分攤到多個操作單元上進行執行,例如Web伺服器、FTP伺服器、企業關鍵應用伺服器和其它關鍵任務伺服器等,從而共同完成工作任務。簡單而言就是當有2台或以上伺服器時,根據規則隨機的將請求分發到指定的伺服器上處理,負載平衡配置一般都需要同時配置反向 Proxy,通過反向 Proxy跳轉到負載平衡。而Nginx目前支援內建3種負載平衡策略,還有2種常用的第三方策略。
1、RR(預設)
每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。
簡單配置