这是Nginx的负载均衡配置方法
Nginx和haproxy一樣也可以做前端請求分發實現負載均衡效果,比如一個tomcat服務如果并發過高會導致處理很慢,新來的請求就會排隊,到一定程度時請求就可能會返回錯誤或者拒絕服務,所以通過負載均衡使用多個后端服務器處理請求,是比較有效的提升性能的方法;另外當單機性能優化到一定瓶頸之后,一般也會用負載均衡做集群,配置也很簡單,下面是配置過程:
首先需要安裝nginx服務器,我這里已經安裝好了,比如這里有三個tomcat服務器,地址如下:
192.168.1.238080
192.168.1.248080
192.168.1.258080
其中nginx安裝在192.168.1.23上面,如果只有一個服務器測試,也可以在一個服務器上運行多個tomcat開多個端口來實現,這樣也能提升性能。
首先看nginx配置,在nginx.conf中http{}塊內并且server{}塊之外添加如下配置:
upstreammy_service{server127.0.0.1:8080weight=2;server192.168.1.24:8080weight=1;server192.168.1.25:8080weight=1;}
上面的my_service是集群的名字,可以自己命名,server指定后端服務列表,weight是設置權重,權重越大,請求被分發過來的可能性就越大,這里本機權重設置了2,也就是說對到達的請求分配到本地上的會多一些。
配置這個之后,需要在server{}中添加location配置攔截請求并轉發給后端的集群,最簡單的配置如下:
location/{proxy_passhttp://my_service;proxy_redirectdefault;}
這樣配置之后保存并重新載入,然后對于所有的請求都會轉發到這個集群指定的機器處理了,當然也可以設置攔截具體的請求比如.do或者.action都可以根據需要設置;另外location里面也可以設置更多的配置項,比如客戶端body大小,buffer大小,超時時間等,配置參考如下:生辰八字起名字
location/{proxy_passhttp://my_service;proxy_redirectoff;proxy_set_headerHosthost;proxysetheaderX?Real?IPhost;proxy_set_headerX-Real-IPhost;proxys?eth?eaderX?Real?IPremote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;client_max_body_size10m;client_body_buffer_size128k;proxy_connect_timeout90;proxy_send_timeout90;proxy_read_timeout90;proxy_buffer_size4k;proxy_buffers432k;proxy_busy_buffers_size64k;proxy_temp_file_write_size64k;}
上面的配置可以參考,根據具體業務需要配置即可。
總結
以上是生活随笔為你收集整理的这是Nginx的负载均衡配置方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用公网访问本地Nginx方法
- 下一篇: 关于Spring Boot WebSoc