300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > njx如何实现负载均衡_使用Nginx实现负载均衡

njx如何实现负载均衡_使用Nginx实现负载均衡

时间:2022-12-31 14:57:05

相关推荐

njx如何实现负载均衡_使用Nginx实现负载均衡

一、实现负载均衡

在上面的介绍中只实现了nginx的代理一台wen服务器,在现实的开发中不可能一个Nginx服务器代理一个web服务器的情况,而是代理多台的web服务器。

1、在克隆一个tomca的服务器

服务器信息:

NO 主机名称 IP地址 描述

1 tomcat-service-1 192.168.239.132 tomcat

2 nginx-service-01 192.168.239.133 nginx

3 tomcat-service-2 192.168.239.134 tomcat

2、修改主机的名称

root@tomcat-service-1:~# vim /etc/hostnametomcat-service-2

3、为了呈现效果修改两个tomcat中index.html的静态文件

tomcat-service-1<h1>192.168.239.132</h1>tomcat-service-2192.168.239.134

4、启动两个tomcat服务,检测两个服务是否可以正常访问

tomcat-service-1:

tomcat-service-2:

以上结果显示两台web服务可以正常访问,下面使用Nginx代理两台服务器

5、修改Nginx的配置文件,增加负载均衡配置

upstream appserver{server 192.168.239.132:8080;server 192.168.239.134:8080;}location / {proxy_pass http://appserver;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;index index.html index.htm;}

添加upstream appserver 配置项实现负载均衡操作,添加完毕后在修改代理的路径proxy_pass http://appserver,在修改完nginx.conf文件后必须检查是否配置成功

nginx -t

显示如下信息标识配置成功

成功之后重启nginx的服务,观察是否配置成功

root@ubuntu:/usr/local/nginx/conf# /usr/local/nginx/sbin/nginx -s reload

使用浏览器访问nginx服务器,检测是否代理两台web服务器

此时我们可以看到nginx实现了两台web服务器的代理,当用户发送请求的时候是实现循环访问,这就实现了web服务器的负载均衡

二、其他配置

1、增加权重配置,权重配置值越高有可能先被执行

upstream appserver{server 192.168.239.132:8080 weight=5;server 192.168.239.134:8080 weight=1;}

2、检测配置和重新加载

/usr/local/nginx/sbin/nginx -troot@ubuntu:/usr/local/nginx/conf# /usr/local/nginx/sbin/nginx -s reload

3、如果某台主机不参与配置,则将配置修改为

server 192.168.239.130 down;

4、如果某台主机只有在高负载量的时候才参与计算,则修改配置为

server 192.168.239.130 backup;

以上操作会导致一个问题,当用户登录的时候访问的是第一台服务器,但是第二次访问的时候被代理第二胎服务器,此时登录信息就无效了,需要重新登录,此时其中的一种解决方案是让用户访问的时候一直访问到登录的web服务器。此时针对以上的问题我们可以使用Nginx的ip_hash配置实现,该特征是用户在以后的访问中只能访问第一次访问的服务器,该配置很简单,直接在upstream节点中添加一个ip_hash就可以实现

upstream appserver{server 192.168.239.132:8080;server 192.168.239.134:8080;ip_hsah;}

以上的方案并非是最好的解决方案,最后的方案是将用户的信息保存在redis中,之后再次访问的时候先到redis中进行查询在确定用户是否登录,如果redis中有记录则表示登录成功。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。