激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - 服務器知識 - 圖文講解如何使用Nginx反向代理、負載均衡

圖文講解如何使用Nginx反向代理、負載均衡

2019-06-11 22:17掘金/chenhongdong服務器之家 服務器知識

前端圈一直很新,一直要不停的學習,而且在進入大廠的路上,還要求熟悉一門后臺語言等等。用一句別人開玩笑的話來說,java十年前的技術現在還能用,而前端的技術就不是這樣的了

學到老活到老

前端圈一直很新,一直要不停的學習,而且在進入大廠的路上,還要求熟悉一門后臺語言等等。用一句別人開玩笑的話來說,java十年前的技術現在還能用,而前端的技術就不是這樣的了。

突然想起了deno項目發布的時候,一個搞笑的issue,“求別更新了,老子學不動了”。雖然看起來是一個玩笑的issue,但卻道出了前端們不得不表現出來的疲態,知識點越來越龐大,學習的內容越來越多。

也聽到一些朋友們說,換成現在再面試阿里,恐怕不好進了啊。當然很多都是隨便一說的玩笑話,聽過一笑便可,不必當真,也不必抱怨了。

好了,今天就直接來說一下主題吧,前端要了解一些運維的Nginx用法,內容不多,簡單看看就好,這兩個功能在工作當中就夠用了,那么首先來看個問題,什么是反向代理與負載均衡。

圖文講解如何使用Nginx反向代理、負載均衡

什么是反向代理與負載均衡

什么是反向代理

當我們有一個服務器集群,并且服務器集群中的每臺服務器的內容一樣的時候,同樣我們要直接從個人電腦訪問到服務器集群服務器的時候無法訪問,必須通過第三方服務器才能訪問集群。

這個時候,我們通過第三方服務器訪問服務器集群的內容,但是我們并不知道是哪一臺服務器提供的內容,此種代理方式稱為反向代理。

什么是負載均衡

公司會建立很多的服務器,這些服務器組成了服務器集群,然后,當用戶訪問網站的時候,先訪問一個中間服務器,再讓這個中間服務器在服務器集群中選擇一個壓力較小的服務器,然后將該訪問請求引入選擇的服務器。

所以,用戶每次訪問,都會保證服務器集群中的每個服務器壓力趨于平衡,分擔了服務器壓力,避免了服務器崩潰的情況。

一句話:nginx會給你分配服務器壓力小的去訪問。

Nginx反向代理與負載均衡的實現

用戶訪問網站的時候首先會訪問nginx服務器,然后nginx服務器再從服務器集群中選擇壓力較小的服務器,將該訪問請求引向該服務器。

nginx配置

下面修改配置方面我就從mac系統下來進行簡單的演示,如何安裝的話也暫以mac為主了,windows系統直接去Nginx官網下載安裝即可。

  1. 安裝nginx  

  2.     1-進到homebrew官網,然后復制命令,預安裝需要的東西  

  3.     2-brew install nginx    安裝nginx  

  4.     3-nginx -v  顯示版本號  

  5. 進入nginx  

  6.     cd /usr/local/etc/nginx  


下圖為進入nginx文件夾下的文件內容。

圖文講解如何使用Nginx反向代理、負載均衡

當進到這個目錄下,我們就可以操作nginx了,接下來就列舉一些非常非常有用的命令,多敲幾遍,一定要記住。

nginx常用命令

  • 啟動nginx

  • nginx

  • 當你敲完nginx這5個鍵的時候,并沒有任何反應,此時你只需訪問localhost:8080(默認)即可

圖文講解如何使用Nginx反向代理、負載均衡

  • 關閉nginx

  • 如果出現下圖情況,不要驚慌,是因為之前nginx被啟動過了

  • 只需nginx -s stop,停止nginx服務

  • 然后再次啟動nginx即可

圖文講解如何使用Nginx反向代理、負載均衡

  • 重啟nginx

  • nginx -s reload

  • 每次修改完.conf文件就需要重啟nginx

  • 檢查配置

  • 檢查修改的nginx.conf配置是否正確

  • nginx -t

  • 如果出現下面ok和successfull就代表正確了,其他的都不對


  1. nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok 

  2. nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful 

對于我們前端來說正常工作當中,倒是不需要過多的修改nginx的。我們之所以修改nginx配置,是為了做一些反向代理罷了。

proxy_pass

nginx反向代理主要通過proxy_pass來配置,將你項目的開發機地址填寫到proxy_pass后面,正常的格式為proxy_pass URL即可。

  1. server {  
  2.  
  3.     listen 80;  
  4.  
  5.     location / {  
  6.  
  7.         proxy_pass http://10.10.10.10:20186;  
  8.  
  9.     }  
  10.  
  11. }  

Upstream模塊實現負載均衡

  • ip_hash指令

  • server指令

  • upstream指令及相關變量

上面寫的三個指令,我們直接通過代碼來一一分析。

  1. // 修改nginx.conf  
  2.  
  3. worker_processes 1;  
  4.  
  5. events {  
  6.  
  7.     worker_connections 1024;  
  8.  
  9. }  
  10.  
  11. http {  
  12.  
  13.     upstream firstdemo {  
  14.  
  15.         server 39.106.145.33;  
  16.  
  17.         server 47.93.6.93;  
  18.  
  19.     }  
  20.  
  21.     server {  
  22.  
  23.         listen 8080;  
  24.  
  25.         location / {  
  26.  
  27.             proxy_pass http://firstdemo;  
  28.  
  29.         }  
  30.  
  31.     }  
  32.  
  33. }  

上面修改的nginx.conf就是上圖中花圈的那個文件,nginx配置的主要修改就在這里。化繁為簡,把原本nginx.conf里的內容直接替換為上面的不到20行的代碼了。

既然不到20行,那就把里面對應的內容統統解釋一下吧,有個了解就好。

  • worker_processes

  • 工作進程數,和CPU核數相同

  • worker_connections

  • 每個進程允許的最大連接數

  • upstream模塊

  • 負載均衡就靠它

  • 語法格式:upstream name {}

  • 里面寫的兩個server分別對應著不同的服務器

  • server模塊

  • 實現反向代理

  • listen監督端口號

  • location / {}訪問根路徑

  • proxy_pass http://firstdemo,代理到firstdemo里兩個服務器上

上面修改了nginx.conf之后,別忘了最重要的一步重啟nginx。

那么再次訪問localhost:8080,會看到如下圖頁面:

圖文講解如何使用Nginx反向代理、負載均衡

還有另一個頁面:

圖文講解如何使用Nginx反向代理、負載均衡

每次刷新都會訪問不同的服務器,這樣就做到了負載均衡處理。

不過,更應該做到的是當用戶第一次訪問到其中一臺服務器后,下次再訪問的時候就直接訪問該臺服務器就好了,不用總變化了。那么就發揮了ip_hash的威力了。

  1. // 省略...  
  2.  
  3.     upstream firstdemo {  
  4.  
  5.         ip_hash;  
  6.  
  7.         server 39.106.145.33;  
  8.  
  9.         server 47.93.6.93;  
  10.  
  11.     }  

ip_hash它的作用是如果第一次訪問該服務器后就記錄,之后再訪問都是該服務器了,這樣比如第一次訪問是33服務器,那之后再訪問也會分配為33服務器訪問了。

工作中的簡單使用

在公司開發項目的時候,遇到設計,產品走查環節的時候,不能每次都讓他們去配一個host,畢竟這樣不友好,走查起來有麻煩。所以更應該給他們直觀的感受,既給一個訪問地址就可以看到樣子。

下面給大家看一下,我正常在公司時nginx做的反向代理配置,和咱們上面的如出一轍,只是加了一個server_name,用指定的域名去訪問即可。

  1. server {  
  2.  
  3.     listen       80;  
  4.  
  5.     server_name  chd.news.so.m.qss.test.so.com ;  
  6.  
  7.     auth_basic off;  
  8.  
  9.     location / {  
  10.  
  11.         proxy_pass    http://10.10.10.10:20186;  
  12.  
  13.         proxy_set_header Host $host;  
  14.  
  15.         proxy_redirect off;  
  16.  
  17.         proxy_set_header X-Real-IP $remote_addr;  
  18.  
  19.         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
  20.  
  21.         proxy_connect_timeout 60;  
  22.  
  23.         proxy_read_timeout 600;  
  24.  
  25.         proxy_send_timeout 600;  
  26.  
  27.     }  
  28.  
  29. }  

每次修改完nginx配置后不要忘記重啟nginx才能生效,這樣只需要訪問chd.news.so.m.qss.test.so.com這個地址就可以查看我的開發環境,進行走查了。

這就是nginx最大的功能,反向代理我也接觸的不是很多,畢竟不是專業運維出身,可比性差了很多。略知一二,也只是方便大家工作中使用吧,再次感謝大家的收看了,哈哈!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美在线观看视频网站 | 欧美视频国产 | zzzzzzzxxxxxx日本人 | 一区小视频 | 免费中文视频 | 国产又白又嫩又紧又爽18p | 黄色大片大毛片 | 久久久人成影片一区二区三区 | av电影在线观看网址 | 激情影院在线观看 | 性猛交ⅹxxx乱巴西 欧美日韩1区2区3区 | 日韩av片在线播放 | 国产一级免费视频 | 国产激情网 | 在线视频欧美一区 | 国产精品av久久久久久久久久 | 中文欧美日韩 | 黄色一级片在线观看 | 日韩一级免费毛片 | 欧美大穴 | 色视频在线观看 | 毛片大全免费看 | 国产刺激高潮av | 成人网视频 | 成人福利视频在线观看 | 91精品国产日韩91久久久久久360 | 一区二区三区视频播放 | 深夜福利视频免费观看 | 国内成人自拍视频 | 欧美淫 | 久久精品之 | 日韩av在线资源 | hd porn 4k video xhicial| 羞羞的视频免费在线观看 | 国产精品啪 | 久久久国产精品视频 | av免费不卡国产观看 | 免费在线观看成人av | 久久久一二三 | 桥本有菜免费av一区二区三区 | 色屁屁xxxxⅹ免费视频 |