配置nginx到后端服务器负载均衡
nginx和haproxy一樣也可以做前端請求分發實現負載均衡效果,比如一個tomcat服務如果并發過高會導致處理很慢,新來的請求就會排隊,到一定程度時請求就可能會返回錯誤或者拒絕服務,所以通過負載均衡使用多個后端服務器處理請求,是比較有效的提升性能的方法;另外當單機性能優化到一定瓶頸之后,一般也會用負載均衡做集群,配置也很簡單,下面是配置過程:
首先需要安裝nginx服務器,我這里已經安裝好了,比如這里有三個tomcat服務器,地址如下:
192.168.1.23 8080
? ? ? ?192.168.1.24 8080
? ? ? ?192.168.1.25 8080
其中nginx安裝在192.168.1.23上面,如果只有一個服務器測試,也可以在一個服務器上運行多個tomcat開多個端口來實現,這樣也能提升性能
首先看nginx配置,在nginx.conf中http {}塊內并且server {}塊之外添加如下配置:
upstream my_service {server 127.0.0.1:8080 weight=2;server 192.168.1.24:8080 weight=1;server 192.168.1.25:8080 weight=1; }上面的my_service是集群的名字,可以自己命名,server指定后端服務列表,weight是設置權重,權重越大,請求被分發過來的可能性就越大,這里本機權重設置了2,也就是說對到達的請求分配到本地上的會多一些
配置這個之后,需要在server {}中添加location配置攔截請求并轉發給后端的集群,最簡單的配置如下:
location / {proxy_pass http://my_service; proxy_redirect default; }這樣配置之后保存并重新載入,然后對于所有的請求都會轉發到這個集群指定的機器處理了,當然也可以設置攔截具體的請求比如.do或者.action都可以根據需要設置;另外location里面也可以設置更多的配置項,比如客戶端body大小,buffer大小,超時時間等,配置參考如下:
location / {proxy_pass http://my_service; proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;client_max_body_size 10m;client_body_buffer_size 128k;proxy_connect_timeout 90;proxy_send_timeout 90;proxy_read_timeout 90;proxy_buffer_size 4k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k; }上面的配置可以參考,根據具體業務需要配置即可,nginx負載均衡的配置基本上就是上面這些
轉載于:https://www.cnblogs.com/freeweb/p/6513973.html
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的配置nginx到后端服务器负载均衡的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二维码的生成
- 下一篇: 批量修改dos文件到unix