nginx+spring boot 微服務實現負載均衡

2020年11月22日10:52:03 科技 1923

環境準備

項目 JDK1.8 以上版本

準備好 nginx 環境

nginx 配置

nginx 的配置文件在/usr/local/nginx/conf 目錄下,配置文件 nginx.conf

配置信息如下:

upstream web_app {

server 192.168.226.150:8089   max_fails=2 fail_timeout=30s;

}

upstream web_app:定義一個名稱,隨意取名

server + ip:埠 or 域名

在虛擬主機添加如下配置

# 虛擬主機配置

server {

listen       80;

server_name  localhost;

location / {

 #root   html;       #定義伺服器的默認根目錄位置

 #index  index.html index.htm;

 #反向代理的配置

 #如果後端的伺服器返回502,504,執行超時等錯誤,自動將請求轉發到upstream負載均衡中的一台伺服器

 #實現故障轉移

      proxy_next_upstream http_502 http_504 error timeout invalid_header;

     #將代理伺服器收到的用戶的信息傳到真實伺服器上

      proxy_set_header Host  $host;

      proxy_set_header X-Real-IP $remote_addr;

      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

# 與上面配置的轉發的名稱一致

      proxy_pass http://web_app;

}

說明:

server:虛擬主機的名稱,一個 HTTP 中可以配置多個 server;

listen:nginx 默認的埠

server_name:nginx 服務的地址, 可以使用域名,多個用空格分隔

proxy_pass :代理路徑,一般配置 upstream 後面的名稱用於實現負載均衡可以直接配置 ip 進行跳轉

nginx.conf 簡單的完整配置:

events {

worker_connections 1024;

}

error_log nginx-error.log info;

http {

include mime.types;

default_type application/octet-stream;

sendfile on;

keepalive_timeout 65;

upstream web_app{

server 192.168.226.150:8089 max_fails=2 fail_timeout=30s;

}

server {

listen       80;

server_name  127.0.0.1;

location / {

 root   html;

proxy_pass http://web_app;

 proxy_connect_timeout 3s;

 proxy_read_timeout 5s;

 proxy_send_timeout 3s;

 index  index.html index.htm;

}

error_page   500 502 503 504  /50x.html;

location = /50x.html {

 root   html;

}

}

}

負載均衡測試

完成上面的 Nginx 配置之後,重啟啟動 Nginx

[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload

微服務啟動:

[root@pertest bin]# sh server.sh restart

訪問介面,通過 nginx 的 ip:埠 + 介面後綴地址

nginx+spring boot 微服務實現負載均衡 - 天天要聞

通過 nginx 的日誌,也可以看到訪問成功了

nginx+spring boot 微服務實現負載均衡 - 天天要聞

當有多個節點的時候,在 nginx 配置文件裡面加上對應的 ip:埠就可以了。

本文作者:檸檬班軟體測試(lemonban)——專註於最新最前沿的軟體測試技術,解決你的測試技術煩惱,對軟體測試感興趣的朋友趕快關注我們吧!

科技分類資訊推薦

三星Galaxy S26Ultra不裝了,性能太炸裂了! - 天天要聞

三星Galaxy S26Ultra不裝了,性能太炸裂了!

三星Galaxy S26 Ultra即將亮相,帶來多方面升級。·該機型將採用6.9英寸QHD+LTPO AMOLED顯示屏,支持120Hz自適應刷新率和3000尼特峰值亮度,確保在各種光照條件下都能提供清晰的視覺體驗。
中集洋山集裝箱第三季度訂單飽滿 開拓氫能集成裝備求新|公司調研 - 天天要聞

中集洋山集裝箱第三季度訂單飽滿 開拓氫能集成裝備求新|公司調研

財聯社7月5日訊(記者 胡皓瓊)中美關稅緩和之下,外貿企業對美出貨恢復,帶動中集洋山集裝箱製造訂單增長。集裝箱製造廠在提升自動化水平的同時,為提高自身抗風險能力,還正布局新賽道。財聯社記者近日走訪中集集團(000039.SZ)旗下中集洋山,眼見一片片鋼板,經歷衝壓、焊接組裝、打砂等一道道工序,逐漸成形。產線上布...
數據寶一體機實機首秀2025生態文明貴陽國際論壇 - 天天要聞

數據寶一體機實機首秀2025生態文明貴陽國際論壇

7月5日至6日,2025年生態文明貴陽國際論壇召開,數據寶攜其AI技術領先成果重磅亮相論壇人工智慧展區,並以「企業私域業務模型一體機」實機首秀,現場演繹數據資產與AI深度賦能綠色發展的創新融合實踐。數據寶「企業私域業務模型一體機」。
登上C909樣機,聽聽中國商飛工程總師怎麼說?《明青講習所》又上新了 - 天天要聞

登上C909樣機,聽聽中國商飛工程總師怎麼說?《明青講習所》又上新了

名師金課《明青講習所》今又上新,這期節目《「科學家精神」的迴響》聚焦於「科學家精神的時代傳承」,定於7月5日(周六)19:30 在上海教育電視台首播。陳明青老師帶領華東師範大學第一附屬中學、上海市魯迅中學、上海南湖職業技術學院的學生們,踏上沉浸式學習之旅,走進錢學森圖書館、中國商飛上海飛機設計研究院、上海科...
谷歌在歐遭遇反壟斷投訴,獨立出版商指控「AI概覽」會損害行業 - 天天要聞

谷歌在歐遭遇反壟斷投訴,獨立出版商指控「AI概覽」會損害行業

IT之家 7 月 5 日消息,據路透社 4 日獲得的一份文件顯示,谷歌因其「AI 概覽」功能遭到一批獨立出版商向歐盟發起反壟斷投訴,並被要求採取臨時措施,以防對出版商造成無法彌補的損害。IT之家註:「AI 概覽」是谷歌在搜索結果中提供的 AI 自動摘要,置於網頁鏈接上方,已在全球超過 100 個國家和地區上線,並自去年 5 月起...