• 超哥笔记--反向代理与集群实例(7)


    一 反向代理

    1.实验准备,准备2台nginx机器

      机器1 192.168.11.37 用作 web服务器,用作数据返回
      机器2 192.168.11.167 用作nginx反向代理服务器

    在windows中访问 代理服务器,然后让代理服务器 去拿 web服务器的数据

      windows > 192.168.11.158 > 192.168.11.37

      windows < 192.168.11.158 < 192.168.11.37

    2 服务器配置

    准备机器1,只是对数据页面的一个返回

    #配置信息如下
    server {
            listen       80;
            server_name  192.168.11.37;
    
            #charset koi8-r;
            location / {
                root   html;
                index  index.html index.htm;
            }
        }

    准备机器2,用作nginx的反向代理服务器,这个机器不存数据,只转发请求
    配置如下

    server {
            listen       80;
            server_name  192.168.11.158;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
            #在这里进行反向代理配置
            #192.168.11.158/
            location / {
            proxy_pass http://192.168.11.37; #代理服务器
                #root   html;
                #index  index.html index.htm;
            }
    
    }

    二  nginx的负载均衡,顾名思义,

    1.集群是什么
    一堆服务器做一件事

    2.集群性能很高
    淘宝本来的核心支付服务器是小型机,非常昂贵,且难以维护
    后来都讲 服务器更换为集群架构
    一堆便宜的服务器,维护者一个功能运转


    3.高可用
    单点机器很可能宕机
    集群单机机器宕机,不会影响整体的运转

    nginx负载均衡的配置

    1.实验如下
    准备三台机器

    机器1 nginx负载均衡器(发牌的荷官) 192.168.11.158
    nginx.conf配置如下

    upstream nginx_pools { //负载均衡分配到各个服务器
      server 192.168.11.37 weight=10;
      server 192.168.11.167 ;
    }
    server {
    listen 80;
    server_name 192.168.11.158;
    
    #charset koi8-r;
    
    #access_log logs/host.access.log main;
    #在这里进行反向代理配置
    #192.168.11.158/
    location / {
    proxy_pass http://nginx_pools;  #负载均衡到nginx_pools
    }
    }

    机器2   准备nginx  返回页面数据        192.168.11.37   

    nginx.conf配置如下
                server {
                    listen       80;
                    server_name  192.168.11.37;
                    location / {
                        root   /opt/jd;
                        index  index.html index.htm;
                    }
                    error_page  404              /40x.html;
                    error_page   500 502 503 504  /50x.html;
                    location = /50x.html {
                        root   html;
                    }
        }

    机器3 也准备nginx 返回页面数据 192.168.11.167

    server {
    listen 80;
    server_name 192.168.11.167;
    
    #charset koi8-r;
    
    #access_log logs/host.access.log main;
    
    location / {
    root html;
    index index.html index.htm;
    }

    负载均衡分配方法

    1.轮询(不做配置,默认轮询)
    
    2.weight权重(优先级)
    
    3.ip_hash配置,根据客户端ip哈希分配,不能和weight一起用

    注意事项:

    实验开始必须关闭防火墙
    iptables -F
    sed  -i 's/enforcing/disabled/' /etc/selinux/config
    
    systemctl stop firewalld
    systemctl disable firewalld
  • 相关阅读:
    java IO流之详细总结
    位运算了解与复习多线程
    java 常见面试题总结(一)
    复习集合框架
    【面试题】java中高以上必会技能
    python-项目流程分析及优化查询方法
    python-day97--django-ModelForm
    python-day97--git协同开发
    python-day96--git版本控制
    python-day91--同源策略与Jsonp
  • 原文地址:https://www.cnblogs.com/angle6-liu/p/10613189.html
Copyright © 2020-2023  润新知