nginx 负载均衡 404_nginx配置负载均衡
- 負載均衡是網絡基礎架構的一個非常關鍵的組成部分,有了負載均衡,我們可以把應用服務器部署多臺,避免了服務宕機,也增強了服務的性能及可用性。
- 負載均衡的算法有很多 ,這里只是簡單提下,
- **輪詢**:從第一個請求的服務器開始,按循序往后依次選擇
- **加權輪詢**:每臺服務器負載能力不一樣,能力弱點的,可以為其分配較小的權重,降低其系統壓力,能力強的可以加大其權重,加權輪詢可以很好處理這些。nginx的負載均衡默認算法是加權輪詢算法。
- **隨機算法**:從服務器中隨機選擇一個處理請求
- **最小連接**:選擇連接數最小、壓力最小的服務器,來處理請求
- **散列**:根據請求源的IP的散列(hash)來選擇請求的服務器。該算法很好的規避了多節點web項目中的session同步問題。
- 負載均衡的方式也分為軟/硬件,方式也很多,接下來我們來講nginx怎么配置負載均衡,前幾篇已經寫了nginx的安裝以及https的配置,有需要可以瀏覽下。
## 1、準備服務
- 我放了兩個tomcat在服務器上,端口分別改為8085、8086
- 首先確認服務正常
## 2、修改nginx配置
- 進入/etc/nginx/conf.d
- upstream模塊,將使nginx跨越單機的限制,完成網絡數據的接收、處理和轉發。
- demo:
upstream test{ ip_hash; server 127.0.0.1:8081weight=1; server 127.0.0.1:8082 down; server 127.0.0.1:8083 backup;server 127.0.0.1:8084 weight=2; }-ip_hash:對請求的IP進行hash后的結果進行分配,這樣每個用戶固定請求同一個服務器
- down: 表示單前的服務臨時不參與負載.
- backup: 其他全部的非backup機器down或者忙的時候,請求backup機器,這臺機器壓力會最輕
- 加權輪詢:weight表示權重的意思,數字越大,權重越高。上面配置,8084是8081的權重的兩倍,就是三次請求,8084處理兩次,8081處理一次
- 我們這樣配置來測試:
vi upstream.confupstream tomcat {server 127.0.0.1:8085; server 127.0.0.1:8086; }vi https.www.flighting.top.conf # HTTPS redirect server {listen 443 ssl;server_name www.flighting.top;# SSLssl_certificate /etc/nginx/crt/test.crt;ssl_certificate_key /etc/nginx/crt/test.key;# security#include conf.d/include/security.conf;# loggingaccess_log /var/log/nginx/access.log;error_log /var/log/nginx/error.log warn;# reverse proxylocation / {proxy_pass http://tomcat;#include conf.d/include/proxy.conf;}# additional config#include conf.d/include/general.conf;} }- 啟動nginx,訪問https://47.101.201.179
## 3、測試負載均衡
- 首先我們把8085的服務停止
- 訪問http://47.101.201.179:8085/
- 訪問https://47.101.201.179,服務仍是好著的
- 我們再把8086的服務停止
- 訪問http://47.101.201.179:8086/
- 訪問https://47.101.201.179,服務宕機
- 啟動8085的服務,再訪問https://47.101.201.179
- 至此負載均衡測試成功,關于ip_hash、weight大家有興趣可以自己寫個頁面測試看,在此不多說
- 下一篇博文,寫寫我最近的一個項目中用到的,DMZ區怎么來做nginx的集群
總結
以上是生活随笔為你收集整理的nginx 负载均衡 404_nginx配置负载均衡的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多个客户端抢夺命名管道_使用Kafka构
- 下一篇: 华为杯数学建模优秀论文_数学建模经典例题