• 巨蟒python全栈开发linux之centos6 第二篇


    1.

    3.nginx负载均衡的实现
        1.准备三台机器,准备3台虚拟机,或者和俩同桌交流一下
            
            192.168.226.128  是nginx资源服务器,返回页面的
            192.168.226.129   用作nginx负载均衡服务器
            192.168.226.130   也用作nginx资源服务器
            
        2.分别配置三台机器
        确保 128和130这2台机器,能正确的资源返回即可
        这三个机器,都是通过修改nginx.conf来实现效果的
        128此时返回 超哥 一米五的 页面
        130返回  
        129配置反向代理 
        
        
        3.配置关键点如下
        129负载均衡配置修改nginx.conf如下
        
        添加负载均衡地址池的参数
            #默认是轮询方式,两台服务器
        upstream s18django {
            server 192.168.226.128;
            server 192.168.226.130;
    }
        添加反向代理参数如下
        proxy_pass http://s18django;
    
        4.配置完毕后,重启nginx,检测负载均衡效果
        
        访问192.168.226.129这个负载均衡器
        它会默认轮询的,丢给upstream中的地址池,每人一次
        
        
        5.nginx负载均衡的算法
            1.轮询方式
            2.加权轮询
                upstream s18django {
            server 192.168.226.128 weight=5;
            server 192.168.226.130 weight=5;
    }
            3.ip_hash方式,对你的ip地址进行哈希,ip_hash方式不得与权重共用
            
        upstream s18django {
            server 192.168.226.128;
            server 192.168.226.130;
            ip_hash;
    }

    模拟负载均衡:

    现在我们直接访问128服务器,

    退出虚拟环境,关闭防火墙,打开nginx

    我们在xshell中依次,登录129和130两个客户端

     

    昨天已经装上了nginx了

    安装nginx的三种方式:1.yum 2.源码包安装 3.rpm安装,需要解决大量依赖关系

    上图是yum方式的安装方式,老师用的是这种,我用的是源码安装.,这台服务器是130

    我们现在需要处理的是129

    操作处理nginx.conf

    原来的情况是,我们只把nginx服务器129当成代理的功能服务器,现在我们将服务器当成中间负载均衡的工具

    添加的内容见上图.

    server=>location=>s18django=>upstream里边的两个地址,默认是轮询的方式查找.

    需要的是128和130应该是一样的代码,

    保存退出

     两种检查配置是否正确的方式

    下面,我们打开修改一下

     

    找到第59行

     在代理前面,加上请求头和分号

    保存,退出

    这个时候,我们就测试成功了

    下面我们将130的服务器的防火墙关上,nginx打开

    访问浏览器的130服务器,得到下面的界面

     129的防火墙也关上,我们再访问129服务器

    再次刷新得到下面的结果:

    128和130里边的来回走

    如果出不来可以在"负载服务器上"重新加载一下

    再次在浏览器中访问:http://192.168.34.129/

     可以在128和130服务器之间来回跳转

    下面我们开始查看129日志,看一下地址的流向

    上图最后一行,运行进入日志

     我们查看128的日志

    130也开始日志

     这个时候,我们对三者都开启了日志监控

    老师讲解的通过yum安装的nginx就不在opt下面,在下图所示的地址

     

    流程:

    浏览器(1)==>服务器129==>服务器128

    新开一个客户端,自己给自己发消息

    得到这个地址,130也得到信息

     

    130服务器没有

    再次请求:

    这个时候只有129和130接到了请求

    curl相当于浏览器发起一个请求

    下面我们看下反向代理和负载均衡//server和upstream是平级关系

    重点:

    3.配置关键点如下:

    129负载均衡配置修改nginx.conf如下

    添加的负载均衡地址池的参数:默认是轮询方式,两台服务器

     

    添加反向代理参数如下

    4.配置完毕后,重启nginx,检测负载均衡效果

    访问192.168.226.129这个负载均衡器它会默认轮询的,丢给upstream中的两个地址,每人一次

    这个proxy_pass里边的地址http://s18django  指向的是上边的upstream

    5.nginx负载均衡的算法

        5.nginx负载均衡的算法
            1.轮询方式
            2.加权轮询
                upstream s18django {
            server 192.168.226.128 weight=5;
            server 192.168.226.130 weight=5;
    }
            3.ip_hash方式,对你的ip地址进行哈希,ip_hash方式不得与权重共用
            
        upstream s18django {
            server 192.168.226.128;
            server 192.168.226.130;
            ip_hash;
    }

    第一点:轮询方式

    第二点:加权轮询,也就是在负载均衡后边加上  weight=参数(数字).

    保存退出,平滑加载一下

    "我该睡了"就出现了4次,nginx页面出现1次

    访问四次"天天想你",再出现"html"

     第三点:ip_hash方式,对你的ip地址进行哈希.

      注意:ip_hash方式不得与权重共用

    用法,见下图,只需要将权重信息删除,加上ip_hash

    保存退出,重新加载

    这个时候,再次访问,就只是一个界面了,访问浏览器或者在服务器上测试,只是一个结果:

    换一台机器,结果可能发生变化.

     

    最少链接数和url哈希

    2.

    3.

  • 相关阅读:
    03_已解决 [salt.master :2195][ERROR ][6219] Failed to allocate a jid. The requested returner 'mysql' could not be loaded.
    02_已解决 [salt.minion :1758][ERROR ][52886] Returner mysql.returner could not be loaded: 'mysql' __virtual__ returned False: Could not import mysql returner; mysql python client is not installed.
    05_centos7安装python3
    04_mysql安装
    03_mysql-python模块, linux环境下python2,python3的
    02_pip区别: linux环境下python2,python3的
    01 salt平台,软件架构图
    01_初识redis
    list_for_each_entry()函数分析
    趣解什么是网关
  • 原文地址:https://www.cnblogs.com/studybrother/p/10649285.html
Copyright © 2020-2023  润新知