本章给大家带来nginx负载均衡的相关配置讲解,首先大家先看下面的示意图:
如上图所示;当客户端发起http请求时,先经过nginx服务器处理并重新分发请求;并下发给不同的服务器,从而实现nginx的负载均衡的简单应用。
nginx配置
upstream www.xyqmw.com {
server 111.231.197.74:8080 weight=1;
server 111.231.197.74:8081 weight=2;
}
server {
listen 80;
server_name 111.231.197.74;
location / {
proxy_pass http://www.xyqmw.com;
proxy_redirect default;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
#www.xyqmw.com 域名
#111.231.197.74 IP
#weight 权重
权重
使用weight来指定server访问比率,weight默认是1。以下配置会是server2访问的比例是server1的两倍。
upstream www.xyqmw.com {
server 111.231.197.74:8080 weight=1;
server 111.231.197.74:8081 weight=2;
}
nginx的应用介绍
1、http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
nginx负载均衡测试
测试环境:操作系统centos 7 nginx服务器 启动两个服务
首先分别启动了两个python服务,端口分别是8080和80801 ,分别返回hello word1和hello word2
测试访问
我们来试一下访问http://www.xyqmw.com/这个域名
访问10次http://www.xyqmw.com结果: 7次返回hello world2 ,3次返回hello world1 ,测试成功!
补充一些参数用于处理一些特殊情况
proxy_connect_timeout:与服务器连接的超时时间,默认60s
fail_timeout:当该时间内服务器没响应,则认为服务器失效,默认10s
max_fails:允许连接失败次数,默认为1
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。