Nginx簡單認識
寫在前面:
最近一直在學習,這幾天了解了下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簡單認識