• LNMP-Nginx负载均衡


    Nginx负载均衡介绍
    Nginx提供负载均衡的模块upstream,这个模块是默认的,不需要重新编译模块。通常情况下,负载均衡一般用于后端两台机器同时提供服务供用户访问,但是用户经常访问的其中一台服务器比较多,另一台基本处于空闲状态,造成资源浪费,而另一台则负载过大造成网站卡慢;这时候就需要将两台服务器加入负载均衡,根据算法来进行资源分配,达到合理利用资源,减少单机的负载过高。
     
    负载均衡算法
    weight:指轮询几率,weight和访问比率成正比,权重越大轮询几率就越大,用于后端服务器不均的情况。
    ip_hash:每个请求按访问ip的hash结果分配,这样每个用户访问一个后端服务器,可以解决session的问题,这个比较常用。
    fair:按照后端服务器的响应时间来分配请求,响应时间短的优先分配。
    url_hash:按url的hash结果来分配请求,是每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
     
     
    实验环境:
    web1: 192.168.1.20 (后端Tomcat服务器)
    web2: 192.168.1.30 (后端Nginx服务器)
    upstream: 192.168.1.10 (负载均衡服务器 )
     
    1:编辑负载均衡conf文件
    [root@upstream vhosts]# vim upstream.conf
    说明:upstream{}中定义的是ip_hash算法,server:定义的是后端负载的服务器IP加port
    加入以下内容
    upstream web
    {
    ip_hash;
    server 192.168.1.20:80;
    server 192.168.1.30:80;
    }
    server
    {
    listen 80;
    server_name www.test.com;
    location /
    {
    proxy_pass http://web;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    }
     
    2:重新加载Nginx测试即可
    [root@upstream vhosts]# nginx -s reload
  • 相关阅读:
    二叉树的前中后序遍历(非递归)
    剑指offer——圆圈中最后剩下的数字
    剑指offer——和为s的连续正整数序列
    leetcode300.最长上升子序列
    将网络描述符设置为非阻塞的场景
    leetcode72.编辑距离
    浅谈各种锁机制
    TCP如何保证可靠传输?
    JavaScript(七)
    JavaScript(六)
  • 原文地址:https://www.cnblogs.com/douyi/p/11632780.html
Copyright © 2020-2023  润新知