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)——專註於最新最前沿的軟件測試技術,解決你的測試技術煩惱,對軟件測試感興趣的朋友趕快關注我們吧!

科技分類資訊推薦

長安與東風重組新進展:朱華榮稱不會改變長安既定戰略 - 天天要聞

長安與東風重組新進展:朱華榮稱不會改變長安既定戰略

2月9日,長安汽車和東風集團股份(00489.HK)同步發佈了控股股東「正在與其他國資央企集團籌劃重組事項」的信息。長安汽車的控股股東是兵裝集團,而東風集團股份的控股股東是東風公司。隨即,長安汽車和東風集團這兩家汽車央企將合併重組,成為業內關注的焦點。
公安部出手了!年齡限制放寬10年、送考下鄉,2025年考駕照不難了 - 天天要聞

公安部出手了!年齡限制放寬10年、送考下鄉,2025年考駕照不難了

電動車加強管理以後,要求機動車類型的車輛需要持證上路,但是老年人考駕照卻受阻,一方面有年齡的限制,另一方面偏遠山區考駕照不方便,所以在2025年公安部出手了,年齡限制放寬10年,同時推出送考下鄉服務,還進一步的降低考駕照的費用,2025年起考摩托車駕照不難了。
從「星靈安全守護體系」到昊鉑HL,看懂廣汽科技日 - 天天要聞

從「星靈安全守護體系」到昊鉑HL,看懂廣汽科技日

發佈會以技術切入,並全程圍繞安全展開。廣汽集團董事長、總經理馮興亞率先登場,宣布2025年四季度將正式上市支持L3級智能駕駛的車型,他同時強調面向自動駕駛時代對智能駕駛技術、整車安全架構以及突發風險處理能力的要求更高。如何才能滿足更高的要求?馮興亞提到了「廣汽
關稅大棒下,最受傷的車企出現了 - 天天要聞

關稅大棒下,最受傷的車企出現了

特朗普的關稅大棒剛揮出,尚未嚇退「外敵」,卻先刺痛了自己。近日,擁有瑪莎拉蒂、Jeep等14個品牌的全球第四大車企斯泰蘭蒂斯突然宣布裁撤900名美國工人,關閉加拿大和墨西哥兩家工廠,北美生產線陷入癱瘓。幾乎同一時間,積架路虎宣布暫停對美出口一個月,奧迪更是直接