• Nginx的反向代理 负载均衡 动静分离 高可用 配置


    在ubuntu下安装Nginx:

    sudo apt install nginx
    

    nginx的配置文件有两个:

    /etc/nginx/nginx.conf
    /etc/nginx/sites-enabled/default

    在server块中增加配置,设置反向代理:

    server{
    	listen 9001;
    	server_name 127.0.0.1;
    	location ~ /edu/ {
    		proxy_pass http://127.0.0.1:8080;
    	}
    	location ~ /vod/ {
    		proxy_pass http://127.0.0.1:8081;
    	}
    }
    

      

    增加server块,设置负载均衡:

    server{
    	listen 9002;
    	server_name 127.0.0.1;
    	location / {
    		proxy_pass http://myserver;
    	}
    }  

    其中的myserver是在http块中增加的配置:

    	upstream myserver{
    		server 127.0.0.1:8080 weight=10;
    		server 127.0.0.1:8081 weight=5;
    	}

    其中,weight是权重,默认为1,权重越大,分配到的客户端就越多。

    weight权重分配是一种方法,还有其他分配方法。

    ip_hash

    	upstream myserver{
    		ip_hash;
    		server 127.0.0.1:8080;
    		server 127.0.0.1:8081;
    	}

    每个请求按照访问ip的hash结果分配,这样每个访客固定访问一个后端服务器。可以解决session的问题。

    但是相应带来的问题就是:如果这台服务器挂了,那么这台服务器上面保存的所有的session全部丢失。

    fair

    	upstream myserver{
    		fair;
    		server 127.0.0.1:8080;
    		server 127.0.0.1:8081;
    	}

    按后端服务器的响应时间来分配请求,响应时间短的优先分配

    注意:在1.3版本之后,可以同时使用ip_hash和weight

    动静分离配置:

    在default中的server块中增加location块

    	location /a/ {
    		root /data/;
    	}
    
    	location /image/ {
    		root /data/;
    		autoindex on;
    	}
    

    其中,autoindex的作用是显示访问目录

    有时候会无法生效,可能是缓存原因,建议强制刷新。

    ---------------------

    高可用以后有空再写

    金麟岂是池中物,一遇风云便化龙!
  • 相关阅读:
    Python 内置函数
    Python OS 文件/目录方法
    python import导入模块
    Python 变量、作用域、闭包
    Python3 迭代器(generate)与生成器(yield) 装饰器(decorator) 上下文管理器(context manager)
    SpringBoot Admin的简单使用
    java学习网址
    idea的破解码
    Jmeter响应内容显示乱码问题的解决办法
    ClickHouse 库引擎
  • 原文地址:https://www.cnblogs.com/ABKing/p/12658649.html
Copyright © 2020-2023  润新知