日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

Nginx负载均衡讲解

發(fā)布時間:2024/3/24 Nginx 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx负载均衡讲解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

    • 產品出現(xiàn)瓶頸
    • Nginx出現(xiàn)
    • Nginx作用
      • Http代理,反向代理
        • 正向代理
        • 反向代理
      • 負載均衡
        • 輪詢
        • 加權輪詢
        • ip hash
      • 動靜分離
    • Nginx的安裝
      • 下載nginx
      • 啟動nginx
      • 檢查nginx是否啟動成功
      • 配置監(jiān)聽
      • 關閉nginx
    • Nginx常用命令
    • 實戰(zhàn)講解

產品出現(xiàn)瓶頸

公司項目剛剛上線的時候,并發(fā)量小,用戶使用的少,所以在低并發(fā)的情況下,一個jar包啟動應用就夠了,然后內部tomcat返回內容給用戶

但是慢慢的,使用我們平臺的用戶越來越多了,并發(fā)量慢慢增大了,這時候一臺服務器滿足不了我們的需求了。

于是我們橫向擴展,又增加了服務器。這個時候幾個項目啟動在不同的服務器上,用戶要訪問,就需要增加一個代理服務器了,通過代理服務器來幫我們轉發(fā)和處理請求

Nginx出現(xiàn)

Nginx (engine x) 是一個高性能的HTTP反向代理web服務器,同時也提供了IMAP/POP3/SMTP服務。

如上所述,出現(xiàn)瓶頸后:我們希望這個代理服務器可以幫助我們接收用戶的請求,然后將用戶的請求按照規(guī)則幫我們轉發(fā)到不同的服務器節(jié)點之上。這個過程用戶是無感知的,用戶并不知道是哪個服務器返回的結果,我們還希望他可以按照服務器的性能提供不同的權重選擇。保證最佳體驗!所以我們使用了Nginx。

Nginx作用

Http代理,反向代理

正向代理

正向代理類似一個跳板機,代理訪問外部資源

比如我們國內訪問谷歌,直接訪問訪問不到,我們可以通過一個正向代理服務器,請求發(fā)到代理服,代理服務器能夠訪問谷歌,這樣由代理去谷歌取到返回數據,再返回給我們,這樣我們就能訪問谷歌了

正向代理的用途:

  • 訪問原來無法訪問的資源,如google
  • 可以做緩存,加速訪問資源
  • 對客戶端訪問授權,上網進行認證
  • 代理可以記錄用戶訪問記錄(上網行為管理),對外隱藏用戶信息

反向代理

反向代理(Reverse Proxy)實際運行方式是指以代理服務器來接受internet上的連接請求,然后將請求轉發(fā)給內部網絡上的服務器,并將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現(xiàn)為一個服務器

反向代理的用途:

  • 保證內網的安全,阻止web攻擊,大型網站,通常將反向代理作為公網訪問地址,Web服務器是內網
  • 負載均衡,通過反向代理服務器來優(yōu)化網站的負載

總結:

  • 正向代理即是客戶端代理, 代理客戶端, 服務端不知道實際發(fā)起請求的客戶端
  • 反向代理即是服務端代理, 代理服務端, 客戶端不知道實際提供服務的服務端

負載均衡

Nginx提供的負載均衡策略有2種:內置策略和擴展策略。內置策略為輪詢加權輪詢Ip hash。擴展策略,就天馬行空,只有你想不到的沒有他做不到的。

輪詢

顧名思義,輪流訪問服務端

加權輪詢

權重高,能得到的更多訪問(比如某個服務器性能較好,可以設置高權重)

ip hash

對客戶端請求的ip進行hash操作,然后根據hash結果將同一個客戶端ip的請求分發(fā)給同一臺服務器進行處理,可以解決session不共享的問題

動靜分離

在我們的軟件開發(fā)中,有些請求是需要后臺處理的,有些請求是不需要經過后臺處理的(如:css、html、jpg、js等等文件),這些不需要經過后臺處理的文件稱為靜態(tài)文件。讓動態(tài)網站里的動態(tài)網頁根據一定規(guī)則把不變的資源和經常變的資源區(qū)分開來,動靜資源做好了拆分以后,我們就可以根據靜態(tài)資源的特點將其做緩存操作。提高資源響應的速度。

說白了,就是靜態(tài)資源交給了nginx來訪問,減少服務器負擔

Nginx的安裝

下載nginx

http://nginx.org/en/download.html下載穩(wěn)定版本

啟動nginx

兩種方式都可以使用

  • 直接雙擊nginx.exe,雙擊后一個黑色的彈窗一閃而過
  • 打開cmd命令窗口,切換到nginx解壓目錄下,輸入命令 nginx.exe ,回車即可

檢查nginx是否啟動成功

直接在瀏覽器地址欄輸入網址 http://localhost:80 回車,出現(xiàn)以下頁面說明啟動成功!

配置監(jiān)聽

nginx的配置文件是conf目錄下的nginx.conf,默認配置的nginx監(jiān)聽的端口為80,如果80端口被占用可以修改為未被占用的端口即可

修改之后,需要執(zhí)行命令 nginx -s reload 即可讓改動生效

關閉nginx

如果使用cmd命令窗口啟動nginx, 關閉cmd窗口是不能結束nginx進程的,可使用兩種方法關閉nginx

  • 輸入nginx命令 nginx -s stop(快速停止nginx) 或 nginx -s quit(完整有序的停止nginx)
  • 使用taskkill taskkill /f /t /im nginx.exe(終止進程)

Nginx常用命令

nginx 啟動

nginx -s stop 停止

nginx -s quit 安全退出

nginx -s reload 重新加載配置文件

ps aux|grep nginx 查看nginx進程

實戰(zhàn)講解

現(xiàn)在有個項目,我們分別用8080/8081進行啟動

正常的訪問,是用不同的端口進行訪問

現(xiàn)在我們用nginx進行改造,修改其配置文件

  • listen、server_name不用說,是訪問的ip和端口
  • location指的是代理:對應server_name,需要修改的是proxy_pass參數,里面的kuangstudy對應upstream名稱
  • upstream指的是負載均衡,weight是權重,值一樣就輪詢,值越大權重越大

reload一下nginx,再訪問,就能發(fā)現(xiàn)nginx已經代理了服務了


由于水平有限,本博客難免有不足,懇請各位大佬不吝賜教!

總結

以上是生活随笔為你收集整理的Nginx负载均衡讲解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。