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的不同而访问不同的转发。

  • 相关阅读:
    js实现base64转换
    使用maven命令终端构建一个web项目及发布该项目
    使用eclipse构建Maven项目及发布一个Maven项目
    Maven在Windows上的安装与配置
    centos7下安装配置redis3.0.4
    Centos7下完美安装并配置mysql5.6
    linux常用命令总结
    VMware下centos桥接模式静态ip配置
    解决centos7下tomcat启动正常,无法访问项目的问题
    centos7系统下安装配置jdk、tomcat教程
  • 原文地址:https://www.cnblogs.com/zydev/p/5928485.html
Copyright © 2011-2022 走看看