本章给大家带来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
补充一些参数用于处理一些特殊情况
proxy_connect_timeout:与服务器连接的超时时间,默认60s
fail_timeout:当该时间内服务器没响应,则认为服务器失效,默认10s
max_fails:允许连接失败次数,默认为1
负载均衡在服务端开发中算是一个比较重要的特性。因为Nginx除了作为常规的Web服务器外,还会被大规模的用于反向代理前端,因为Nginx的异步框架可以处理很大的并发请求,把这些并发请求hold住之后就可以分发给后台服务端(backend servers
为了保证Web应用程序的高可用性和性能,通常会使用多个应用服务器,然后使用负载均衡器接收用户的请求,将请求导向后端的应用服务器。目前有许多流行的软件可以起到负载均衡器的作用
nginx配置负载均衡需要有两个关键配置:在upstream中配置具体负载均衡信息,通过proxy_pass 来引用已经配置好的负载均衡信息
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!