版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/QQ1142003960/article/details/51155192
原文地址: http://ichenpeng.net/index.html
nginx有个特别好使的功能,就是负载均衡。可以保证后台服务的稳定发布,而不会出现发布过程中会出现的502。配置起来也很简单。
1.多个后端服务。
我这里有三个后端tomcat,提供了简单的数据返回
http://121.41.9.240:8081/blog/sys/getServerName ==> {“serverName”:”服务器:4467718741”}
http://121.41.9.240:8082/blog/sys/getServerName ==> {“serverName”:”服务器:1792200920”}
http://127.0.0.1:8082/blog/sys/getServerName ==> {“serverName”:”服务器:3213787893”}
2.nginx.conf配置
这里为了不干扰原有的配置,我单独写了一个文件, blog.conf
#blog.conf
upstream blog{
#weight表示权重,值越大表示抢到权限的可能性越大
#ip_hash; 这里如果加了ip_hash可以绑定该ip和服务器,解决session问题
server 121.41.9.240:8081 weight=1;
server 121.41.9.240:8082 weight=2;
server 127.0.0.1:8080 weight=100;
}
server {
listen 8082;#绑定8082端口
server_name localhost;
location /blog{
proxy_pass http://blog;
}
}
nginx.conf里面引入blog.conf
在http模块下(注意blog.conf的位置)
include conf/blog.conf
nginx -s reload
http://localhost:8082/blog/sys/getServerName
访问上面文件就能随机出现各种severName,并且本地的那个最多。
如果手动停掉了本地的项目,会发现访问还能继续下去,而且请求都被分配到了另外两个节点。
如果重新启动了本地的项目,会发现过了一会会,又可以访问到本地的项目。