zoukankan      html  css  js  c++  java
  • Nginx*负载均衡

    环境准备:

       总共四台机器,两台装有Nginx的机器做负载均衡,两台机器装有Apache作为WEB服务器。

    机器信息
    hostname IP 说明
    lb01 192.168.1.19 nginx主负载均衡器
    lb02 192.168.1.16 nginx辅负载均衡器
    web01 192.168.1.17 Apache做web服务器
    web02 192.168.1.18 Apache做web服务器

    配置nginx的配置文件,

    这里的nginx的安装是用的yum安装CentOS用yum快速安装nginx

    移除掉默认的nginx服务

    cd /etc/nginx/conf.d/
    mv default.conf default.conf.org

    编辑host解析

    echo "192.168.1.19 blog.zydev.org" >>/etc/hosts
    实验一:实现一个简单的负载均衡

    增加一个配置文件

    vim /etc/nginx/conf.d/upstream01.conf

    upstream blog_real_servers {
            server 192.168.1.17 weight=5;
            server 192.168.1.18 weight=5;
    }
    
    server {
            listen 80;
            server_name blog.zydev.org;
            location / {
              proxy_pass http://blog_real_servers;
            }
    }

    重启nginx服务,并测试是否实现负载均衡

    测试是成功的,按照1:1实现了转发。

    实验2:根据URL中的目录地址实现代理转发(动静分离)

       根据URL进行转发的情况,也称为7层的负载均衡配置,lvs是进行在第四层。

    在WEB01中:

    echo dynamic > /var/www/html/dynamic/index.html

    在web02中:

    echo static > /var/www/html/static/index.html

    在LB01中:

     vim /etc/nginx/conf.d/upstream01.conf

    pstream dynamic_pools {
            server 192.168.1.17:80 weight=5;
    }
    upstream static_pools {
            server 192.168.1.18:80 weight=5;
    }
    
    server {
            listen 80;
            server_name blog.zydev.org;
            location /static/ {
              proxy_pass http://static_pools;
              proxy_redirect off;
              proxy_set_header Host $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_connect_timeout 90;
              proxy_send_timeout 90;
              proxy_read_timeout 90;
              proxy_buffer_size 4k;
     proxy_buffers 8 4k;
              proxy_busy_buffers_size 8k;
              proxy_temp_file_write_size 64k;
            }
            location /dynamic/ {
              proxy_pass http://dynamic_pools;
              proxy_redirect off;
              proxy_set_header Host $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_connect_timeout 90;
              proxy_send_timeout 90;
              proxy_read_timeout 90;
              proxy_buffer_size 4k;
              proxy_buffers 8 4k;
              proxy_busy_buffers_size 8k;
              proxy_temp_file_write_size 64k;
            }
    }

    测试访问:

    由结果可以看出实现了URL的不同而访问不同的转发。

  • 相关阅读:
    golang类型判断
    golang文件相对路径问题
    golang中数组与切片的区别
    golang的一些基础数据类型转换
    golang变量的注意
    Oracle数据库导入导出总结(dmp文件)
    Ajax,谷歌提示AutoCompleteExtender控件
    验证控件插图扩展控件ValidatorCalloutExtender(用于扩展验证控件)和TextBoxWatermarkExtender
    当使用母版页时JavaScript客户端获取服务器控件的Id
    实现GridView翻页并且实现CheckBox选中功能的保持
  • 原文地址:https://www.cnblogs.com/zydev/p/5928485.html
Copyright © 2011-2022 走看看