博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nginx负载均衡配置说明
阅读量:4662 次
发布时间:2019-06-09

本文共 1516 字,大约阅读时间需要 5 分钟。

  WEB服务做负载均衡的方法有很多种,但使用Nginx做负载均衡部署毫无疑问是非常高效也是非常流行的一种。

  本人大多数做.NET开发,但部署负载却一直用Nginx,对其他的负载方式研究不多,只测试过一次使用Server Farm做负载部署,没有在实际项目中实战,最近见同事使用Server Farm做负载配置,但对其性能等不甚了解,望知之者留言讨论。

  废话少说,请看步骤:

1、Nginx服务安装部署

  请看上文《》

2、配置文件编写

  在Nginx安装目录下下打开Vhost目录(该目录已经在Nginx.conf中被包含,如果只是针对某站点的某个目录负载,可以将包含路径修改一下即可),新建负载配置文件testfz.conf,内容如下:

upstream backend {   server 192.168.1.106:8001  weight=1;   server 192.168.1.107:8001  weight=2;   #ip_hash;}server {    listen       80;    server_name  www.test.com;    location ~ ^/*    {      proxy_set_header Host $host;      proxy_set_header X-Real-IP $remote_addr;      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;      proxy_buffering off;      proxy_pass http://wwwbackend;         }}

3、测试

./nginx –t返回如下信息表示参数配置无误nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

4、重新加载配置文件

/etc/init.d/nginx reload

如果重启报PID错误,在安装路径下-C重新加载一下配置文件即可。

5、关于Nginx配置的参数说明

  a、轮询 每个请求根据Nginx配置文件中的顺序,依次分发到不同的后端服务器,服务器如果down掉会自动识别并剔除;

  b、weight Nginx根据weight配置把请求更多地分发到高配置的后端服务器上,把相对较少的请求分发到低配服务器。
  c、ip_hash 每个请求按访问ip的hash结果分配,保证连接到固定的负载服务器上,这种方式可以解决session问题;
  d、最少连接 可以将Web请求会被转发到连接数最少的服务器上。只要加least_conn节就可以。

  另外这每个负载服务器上还可以做如下的配置:

  a、down : 当前的服务器暂时不参与负载;
  b、max_fails: 允许请求失败的次数默认为1,当超过最大次数时,返回proxy_next_upstream模块定义的错误;
  c、fail_timeout : max_fails次失败后,暂停的时间;
  d、backup: 其它所有非backup机器down或者忙时候,才开始请求backup机器,可以用做故障转移。

转载于:https://www.cnblogs.com/silent2012/p/5009738.html

你可能感兴趣的文章
k8s 英文文档翻译
查看>>
Python os模块
查看>>
jQuery中addClass不起作用
查看>>
python--关于函数传递
查看>>
产品经理与项目经理
查看>>
50. 分别使用迭代或递归来实现对数组的二分查找(折半查找)
查看>>
造成 nginx 403 forbidden 的几种原因
查看>>
url-safe base64 && base64
查看>>
KVM虚拟化技术
查看>>
数据库原理--数据库系统基础
查看>>
LETTers比赛第七场 Qin Shi Huang's National Road System
查看>>
C1TrueGrid 添加行索引
查看>>
最大似然估计 (MLE) 最大后验概率(MAP)
查看>>
js函数中的预编译
查看>>
oc学习之路----代理模式
查看>>
WordPress更换域名完美方法
查看>>
RSA加密解密 错误:Base-64 字符数组的无效长度
查看>>
AngularJS路由
查看>>
一个很实用的,跳转填写 , 回来赋值.
查看>>
你觉得剩菜回锅科学吗?
查看>>