• CentOS7 Nginx负载均衡


    五台服务器
    192.168.155.129 nginx反向代理服务器
    192.168.155.130 apache+PHP服务器,PHP要使用mysql函数库,配置的时候就要指定mysql安装路径,所以虽然以后连接远程mysql服务器,安装PHP时本地也要先安装mysql提供mysql库(只是用到了其中的库,无需启动数据库和分配账号),下面的nginx+PHP服务器也同样如此
    192.168.155.131 nginx+PHP服务器
    192.168.155.132 apache+PHP+mysql1服务器
    192.168.155.133 apache+PHP+mysql2PHP服务器
    本台nginx服务器的IP地址为 192.168.155.129
    
    
    
    
    192.168.155.129shell端
    暂时关闭nginx
    service nginx stop
    
    
    在http{}节点里添加
    upstream mySite {
        server 192.168.155.130:80 down;
        server 192.168.155.131:80 weight=1;
        server 192.168.155.132:80 weight=2;
        server 192.168.155.133:80 backup;
        #ip_hash;
    }
    upstream 表示一组的负载均衡服务器,mySite为自定义名,用来给下面的proxy_pass参数赋值
    down     表示该服务器暂时不参与负载 
    weight   默认为1,weight越大,负载的权重就越大。 上面比例的话相当访问两次192.168.155.132,访问一次192.168.155.131
    backup   其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
    ip_hash  让每个客户端每次访问固定访问第一次访问的后端服务器,该方法有一定弊端,暂时注释掉
    在需要使用负载的server{}节点里的需要使用负载的location{}里添加如下段
    proxy_pass http://mySite;
    该server{}节点即开始使用该组服务器做负载均衡
    反向代理会把客户端请求过来的url,参数,等数据原样发给某个负载均衡的服务器上处理,如果其中有机器故障,会自动转交其他机器处理
    Nginx支持多组的负载均衡,可以配置多个upstream来服务于不同的Server。
    nginx 的 upstream目前支持 4 种方式的负载分配
    1)、轮询(默认即相当于weight=1)
          每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
    2)、weight
          指定轮询几率,weight值和访问比率成正比,用于后端服务器性能不均的情况。
    2)、ip_hash
          每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session不能共享的问题。
    3)、fair(第三方)
          按后端服务器的响应时间来分配请求,响应时间短的优先分配。
    4)、url_hash(第三方)
    vim /usr/local/nginx/conf/nginx.conf
    
    
    开启服务器
    service nginx start
    
    
    在mySite组每个服务器根目录下新建f1.php
    每个服务器f1.php内容依次是
    192.168.155.130/f1.php
    <?php echo "this is 192.168.155.130";exit;?>
    192.168.155.131/f1.php
    <?php echo "this is 192.168.155.131";exit;?>
    192.168.155.132/f1.php
    <?php echo "this is 192.168.155.132";exit;?>
    192.168.155.133/f1.php
    <?php echo "this is 192.168.155.133";exit;?>
    
    
    浏览器中输入
    http://192.168.155.129/f1.php
    会输出显示
    this is 192.168.155.131
    或
    this is 192.168.155.132
    每显示两次this is 192.168.155.132显示一次this is 192.168.155.131
  • 相关阅读:
    全局对象
    公用属性与原型链
    内存图
    JS中数据类型的转换
    for in 遍历
    JS里的数据类型
    Collect~Something else
    Spring Batch学习笔记(一)
    C#之WinForm设置控件居中
    C#之使用AutoUpdater自动更新客户端
  • 原文地址:https://www.cnblogs.com/dreamhome/p/5156113.html
Copyright © 2020-2023  润新知