Nginx簡介

什麼是Nginx?

Nginx 是一個高性能的HTTP和反向代理服務器。

正向代理與反向代理

正向代理:代理對象爲客戶端做代理,客戶端無法直接訪問服務端,需要通過配置代理對象纔可以訪問;而服務端只需要與代理對象打交道,不需要感知客戶端的存在。例如通過vpn代理訪問國外網站。

反向代理:代理對象爲服務端做代理,使客戶端不需要感知服務端的存在,只需要訪問代理服務器便可獲得想要的結果。例如很多大型網站都使用Nginx作爲反向代理服務器,實現限流、負載均衡、動靜分離等。

Nginx可實現的功能

負載均衡

網絡負載均衡的大致原理是利用一定的分配策略將網絡負載平衡地分攤到網絡集羣的各個操作單元上,使得單個重負載任務能夠分擔到多個單元上並行處理,使得大量併發訪問或數據流量分擔到多個單元上分別處理,從而減少用戶的等待響應時間。

nginx 的 upstream目前支持 以下幾種方式:

一. 輪詢(默認):按時間順序分配服務器,如果後端服務器宕機,會自動被踢出。

二. weight(權重輪詢) :指定輪詢機率,weight和訪問比率成正比,用於後端服務器性能不均的情況。

三. ip_hash:根據請求的ip地址進行hash選擇指定服務器 。

動靜分離

將不需要依賴容器的比如css/js或者圖片等與動態服務器進行分離稱爲動靜分離。

動靜分離的好處:

一. Nginx本身就是一個高性能的靜態web服務器。

二. 靜態文件有一個特點就是基本上變化不大,所以動靜分離以後我們可以對靜態文件進行壓縮、緩存提高網站性能。

防盜鏈

一個網站上會有很多的圖片,如果你不希望其他網站直接用你的圖片地址訪問自己的圖片,或者希望對圖片有版權保護。再或者不希望被第三方調用造成服務器的負載以及消耗比較多的流量問題,那麼就需要配置防盜鏈。

跨域訪問

什麼叫跨域呢?如果兩個節點的協議、域名、端口、子域名不同,那麼進行的操作都是跨域的,瀏覽器爲了安全問題都是限制跨域訪問,所以跨域其實是瀏覽器本身的限制。

Nginx通過配置可以實現跨域訪問。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章