1. 程式人生 > >Nginx簡單認識

Nginx簡單認識

tps font 重啟nginx 路徑 簡單的 tails 分發 localhost location

寫在前面:

  最近一直在學習,這幾天了解了下Nginx,雖然看了些資料,斌哥也講解了一下,但是貌似缺少了實踐,就顯得對其認識的不那麽深刻。這裏也還是簡單的記錄下把。

  

  什麽是Nginx?

  Nginx (engine x) 是一款輕量級的Web服務器 、反向代理服務器及電子郵件(IMAP/POP3)代理服務器,按照個人理解就是用來轉發請求的,是個中間商。

  什麽是反向代理?

  Nginx既然是反向代理服務器,那什麽是反向代理?要知道什麽是反向,就要先明白是什麽正向?

  正向代理客戶端非常明確想要訪問的服務器地址;服務器只清楚請求來自哪個代理服務器,並不知道來自哪個客戶端。比如我們在查資料的時候,需要訪問國外的網站,這個時候會發現通過我們的瀏覽器是訪問不了的,這個時候就需要使用一個能訪問國外網站的代理服務器來進行訪問。我們將請求發送給代理服務器,代理服務器去訪問國外的網站,然後將數據返回給我們。

  反向代理客戶端的請求來源是明確的,但是請求具體由哪個服務器去處理就不明確了。比如現在一個網站有超大量的訪問,如果只是單單的一個服務器,早就宕機了,所以,使用反向代理服務器,就可以按照一定的規則將請求分發到不同的服務器進行處理。

  兩者之間的區別:

  技術分享圖片

  位置不同:正向代理,架設在客戶機與主機之間;反向代理,架設在服務器端。

  代理對象不同:正向代理,代理客戶端,服務端不知道實際發起請求的客戶端;反向代理,代理服務端,客戶端不知道實際提供服務的服務端。

  用途不同:正向代理,為在防火墻內的局域網客戶端提供訪問Internet的途徑;反向代理,將防火墻後面的服務器提供給Internet訪問。

  安全性不同:正向代理運行客戶端通過它訪問任意網站並且隱藏客戶端自身,因此必須采取安全措施以確保僅為授權的客戶端提供服務;反向代理對外都是透明的,訪問者並不知道自己訪問的是哪一個代理。

  這些都是摘抄來自斌哥做的ppt中的,可能要自己總結,就寫不出來了,哈哈哈

  什麽是負載均衡?

  Nginx反向代理服務器就收到的請求數量,即負載量。請求數據按照一定規則進行分發到不同的服務器處理的規則,叫做均衡規則。將接收的請求按照規則分發的過程,稱為負載均衡。

  如何使用?

  下面簡單來使用下Nginx

  首先是下載http://nginx.org/en/download.html,下載windows-1.15.5的這個

技術分享圖片

  下載之後進行解壓,然後雙擊nginx.exe進行啟動。這個時候窗口會一閃而過,但是並不是啟動失敗了。打開你的任務管理器,查看進程,會發現有兩個nginx.exe,則啟動成功。兩個進程一個是守護進程,一個工作進程。

技術分享圖片

  接著打開瀏覽器,輸入http://localhost,回車,會看到如下頁面

技術分享圖片

  相關命令:

  啟動nginx: start nginx

  重啟nginx:nginx -s reload

  關閉nginx: nginx -s stop

  查看配置文件是否有問題:nginx -t


  下面簡單的配置下,看nginx是如何分發的。

  我們打開nginx的配置文件nginx.conf:

upstream localhost{  #配置要分發的服務器
        server localhost:8000;
        server localhost:8080;
    }
    
    server {
        listen       80; 
        server_name  localhost;

        location / {  #配置匹配的路徑,/表示所有的請求路徑都到這裏
            proxy_pass http://localhost;  #proxy_pass表示代理路徑,即轉發的路徑,與上面設置分發的服務器的名字相同
           
        }

  將配置文件更改為這個樣子,其他地方的配置,這裏省略了,只是簡單的配置了下。

  下面,我們啟動兩個同名的web項目,都為spas,並設置兩個項目啟動的端口不一致,一個為8000,一個為8080,與nginx.conf配置文件中設置的分發的服務器的端口一致。然後打開瀏覽器,我們輸入http://localhost/spas,回車,發現頁面是訪問http://localhost:8000/spas項目的頁面,再多次刷新回車,發現顯示的頁面又是訪問http://localhost:8080/spas項目的頁面。

技術分享圖片技術分享圖片

  到這裏就達到了我們想要的效果了,因為我們配置分發了兩個服務器,所以按照匹配路徑,多次刷新,會出現不同的頁面。

  好啦,對於Nginx也有了簡單的了解與認識了,之後在項目中如果有更好的實踐再去好好學習研究吧~~~

 

參考資料:(好幾個都是斌哥ppt上整理的參考鏈接,看的時候也沒認真仔細去看,總覺得這些對於我這個階段來說還是有點高深的haha~)

  https://blog.csdn.net/tsummerb/article/details/79248015------Nginx詳解(正向代理、反向代理、負載均衡原理)

  https://www.cnblogs.com/Lonelydancer/p/6219567.html-------淺談Nginx負載均衡和F5的區別

  https://blog.csdn.net/ZHBR_F1/article/details/72667451-------Nginx的配置和使用

  https://www.cnblogs.com/qdhxhz/p/8910174.html------nginx入門教程

  https://www.cnblogs.com/ChoviWu/p/9004725.html------nginx配置負載均衡

Nginx簡單認識