nginx docker 負載均衡

2021-09-22 10:06:46 字數 1017 閱讀 7497

寫了乙個 http 伺服器,建立了三個 docker 容器,分別跑在伺服器對應埠號為8081,8082,8083上.用 nginx 對其進行負載均衡.

upstream mynginx 

server

error_page 404 /404.html;

location = /40x.html

error_page 500 502 503 504 /50x.html;

location = /50x.html

}

1.nginx 監聽埠不可以是8080!因為 nginx 服務的埠為8080,如果自己的再監聽8080,那麼永遠都沒法訪問到自己的服務,因為這個埠是 nginx 在用了!

乙個 docker 容器 運**況下壓測:

乙個 docker 容器 執行的時候會報錯  connection reset by peer 的錯誤,因為伺服器連線數過多而砍掉了一部分連線.

三個 docker 容器 + nginx 運**況下壓測:

差不多,甚至還要比乙個執行的時候更慢.推測是因為我的伺服器是單核的,並且配置不高,用 nginx 沒有必要,並且還增加了負載均衡排程的負擔.所以速度會更慢.但是它會把請求負載均衡到三個服務上,這樣就不會導致乙個服務的連線數過多而報錯了.並且還能在個別服務下線(出問題)的時候保持對外服務正常.

啟動: 1) nginx 2)nginx -c /path/to/your/nginx.conf 

更改配置後重新啟動:nginx -s reload

停止:nginx -s stop

重啟:kill -hup pid( 從容地重啟 ) 

官方文件:

書籍: << nginx 開發從入門到精通 >>

nginx 負載均衡 Nginx負載均衡策略

nginx提供的負載均衡策略有2種 內建策略和擴充套件策略。內建策略為輪詢 預設 加權輪詢,ip hash,第三方。upstream mysvr1 輪詢 每個請求按照時間順序逐一的分配到每乙個後台伺服器上。如果某台伺服器宕機了,將會自動的剔除宕機的服務。nginx預設就是輪詢其權重都預設為1,伺服器...

軟負載均衡和F5負載均衡(硬負載均衡)區別

分割線,以下是原文內容 負載均衡 建立在現有網路結構之上,它提供了一種廉價有效透明的方法擴充套件 網路裝置 和伺服器 的頻寬 增加 吞吐量 加強網路資料處理能力 提高網路的靈活性和可用性。負載均衡,英文名稱為load balance,其意思就是分攤到多個操作單元上進行執行,例如web 伺服器 ftp...

負載均衡(一)為什麼需要負載均衡

通常我們專案開發都是在tomcat上完成的,當然這樣是有優點的,比如就是開發簡單,部署簡單,但是單個的tomcat有時候有時候就會有問題,它的容量有峰值,大概在300之間,可以用測試軟體jemeter進行壓力測試。而且如果tomcat出現問題的話,那麼整個專案就會出現故障,這是不可容忍的 單點故障,...