古詩詞大全網 - 四字成語 - nginx前端頁面配置(nginx代理前端頁面)

nginx前端頁面配置(nginx代理前端頁面)

nginx前後端代理配置

代理單個前端時,以下eg1、eg2代理的是同壹個文件,不用的是url

細心地讀者發現還有第三個代理eg3、它的不同在於19行,是以alias開頭的代理。那麽他有什麽不同呢,按照上面代理文件的路徑,test1與test0是壹樣的,也就是說eg1和eg3是壹樣的代理。

簡單的分析出:

root:root+location為實際文件路徑

alias:鎮告alias為實際文件路徑(ps:必須是以/結尾,因為禦搭明代理的東西在此目錄下)

當代理多個靜態文件時,容易發生404問題。

若把單個配置成location/時,又沒有問題,那麽妳需要參考以下配置。

ps:壹般根路徑用root,其他為alias代理。

有關^~請看FAQ

12行最後的/api/;分號前面的/問題請看FAQ

因為微信公眾號的回調只能調用對dev.server.com發起請求壹定會出現跨域。

現在我們只需要啟動壹個nginx服務器,將server_name設置為fe.server.com,然後設置相應的location以攔截前端需要跨域的請求,最後將請求代理回dev.server.com。如下面的配置:

這樣可以完美繞過瀏覽器的同源策略:fe.server.com訪問nginx的fe.server.com屬於同源訪問,而nginx對服務端轉發的請求不會觸發瀏覽器的同源策略。

根據狀態碼過濾

根據URL名稱過濾,精準匹配URL,不匹配的URL全部重定向到主頁。

根據請求類型過濾。

GZIP是規定的三種標指廳準HTTP壓縮格式之壹。目前絕大多數的網站都在使用GZIP傳輸HTML、CSS、JavaScript等資源文件。

對於文本文件,GZip的效果非常明顯,開啟後傳輸所需流量大約會降至1/4~1/3。

並不是每個瀏覽器都支持gzip的,如何知道客戶端是否支持gzip呢,請求頭中的Accept-Encoding來標識對壓縮的支持。

啟用gzip同時需要客戶端和服務端的支持,如果客戶端支持gzip的解析,那麽只要服務端能夠返回gzip的文件就可以啟用gzip了,我們可以通過nginx的配置來讓服務端支持gzip。下面的respone中content-encoding:gzip,指服務端開啟了gzip的壓縮方式。

這裏為什麽默認版本不是1.0呢?

HTTP運行在TCP連接之上,自然也有著跟TCP壹樣的三次握手、慢啟動等特性。

啟用持久連接情況下,服務器發出響應後讓TCP連接繼續打開著。同壹對客戶/服務器之間的後續請求和響應可以通過這個連接發送。

為了盡可能的提高HTTP性能,使用持久連接就顯得尤為重要了。

HTTP/1.1默認支持TCP持久連接,HTTP/1.0也可以通過顯式指定Connection:keep-alive來啟用持久連接。對於TCP持久連接上的HTTP報文,客戶端需要壹種機制來準確判斷結束位置,而在HTTP/1.0中,這種機制只有Content-Length。而在HTTP/1.1中新增的Transfer-Encoding:chunked所對應的分塊傳輸機制可以完美解決這類問題。

nginx同樣有著配置chunked的屬性chunked_transfer_encoding,這個屬性是默認開啟的。

Nginx在啟用了GZip的情況下,不會等文件GZip完成再返回響應,而是邊壓縮邊響應,這樣可以顯著提高TTFB(TimeToFirstByte,首字節時間,WEB性能優化重要指標)。這樣唯壹的問題是,Nginx開始返回響應時,它無法知道將要傳輸的文件最終有多大,也就是無法給出Content-Length這個響應頭部。

所以,在HTTP1.0中如果利用Nginx啟用了GZip,是無法獲得Content-Length的,這導致HTTP1.0中開啟持久鏈接和使用GZip只能二選壹,所以在這裏gzip_http_version默認設置為1.1。

如上面的圖,前面是眾多的服務窗口,下面有很多用戶需要服務,我們需要壹個工具或策略來幫助我們將如此多的用戶分配到每個窗口,來達到資源的充分利用以及更少的排隊時間。

把前面的服務窗口想像成我們的後端服務器,而後面終端的人則是無數個客戶端正在發起請求。負載均衡就是用來幫助我們將眾多的客戶端請求合理的分配到各個服務器,以達到服務端資源的充分利用和更少的請求時間。

Upstream指定後端服務器地址列表

在server中攔截響應請求,並將請求轉發到Upstream中配置的服務器列表。

上面的配置只是指定了nginx需要轉發的服務端列表,並沒有指定分配策略。

輪詢策略

默認情況下采用的策略,將所有客戶端請求輪詢分配給服務端。這種策略是可以正常工作的,但是如果其中某壹臺服務器壓力太大,出現延遲,會影響所有分配在這臺服務器下的用戶。

最小連接數策略

將請求優先分配給壓力較小的服務器,它可以平衡每個隊列的長度,並避免向壓力大的服務器添加更多的請求。

最快響應時間策略

依賴於NGINXPlus,優先分配給響應時間最短的服務器。

客戶端ip綁定

來自同壹個ip的請求永遠只分配壹臺服務器,有效解決了動態網頁存在的session***享問題。

匹配以png|gif|jpg|jpeg為結尾的請求,並將請求轉發到本地路徑,root中指定的路徑即nginx本地路徑。同時也可以進行壹些緩存的設置。

nginx的功能非常強大,還有很多需要探索,上面的壹些配置都是公司配置的真實應用(精簡過了),如果您有什麽意見或者建議,歡迎在下方留言...