nginx负载均衡配置

1.nginx

nginx一款轻量级web服务器,反向代理服务器及电子邮件代理服务器,其有功能多,占用资源少,并发处理能力高的优点。他有以下用途:

  • 反向代理
  • 负载均衡
  • http服务器(动静分离)
  • 正向代理

2.nginx常用命令

版本查看: nginx -v  /-V(含编译版本)

快速关闭nginx :nginx -s stop 

平稳关闭nginx : nginx -s quit  

nginx启动后进程id位置: logs/nginx.pid

nginx 配置文件位置|(默认启动文件位置):conf/nginx.conf

自定义指定启动位置(-c参数): nginx -c xx/conf/xxx.conf

验证配置文件语法是否正确(-t -c):nginx -t  -c xx/conf/xxx.conf

重新加载配置文件(文件修改变动后):nginx -s reload

  

3、conf配置文件主要参数

# 主要通过http块中参数upstream、server块进行配置
upstream,负载均衡配置,后面的名称与proxy_pass后参数对应。(名称可以随意写)
括号里面配置分发的服务器地址~

# server块中location块配置反向代理和监听端口等
proxy_pass:后端代理服务器的地址(域名或ip地址和端口等),

proxy_set_header:请求头设置(传给服务端)。

 

4、实现负载均衡例子

将请求分发到多台机器,共同完成任务,一般结合反向代理使用,通过反向代理跳转到负载均衡~

实现方式(负载均衡策略)有:轮询(默认),权重,ip_hash,fair第三方等等。

先准备2台机器,负载均衡相关配置

    upstream web_server {
        server 139.159.247.191:8090;
        server 116.62.203.159:8090;
    }

    server {
        listen       81;
        server_name  localhost;
        client_max_body_size 1024M;

        #charset koi8-r;

        access_log  logs/host.access.log;

        location / {
            proxy_pass http://web_server;
            proxy_set_header Host $host:$server_port;
        }

 

1) RR轮询,按请求时间顺序逐一轮询分配到对应服务器,若某台服务器宕机,则自动剔除~

 轮询配置如上面所示,浏览器端访问效果如下:

 

 

 2)权重 ,指定应用服务器访问权重比例,后端服务器性能不均时指定访问比例(通过weight控制)

    upstream web_server {
        server 139.159.247.191:8090 weight=5;
        server 116.62.203.159:8090 weight=2;
    }

3)ip_hash(依据ip分配,nginx自带策略):根据客户端过来的ip进行hash处理,同一ip的分发给同一台服务器,可以解决session不能跨服务器的问题。

   upstream web_server {
        ip_hash;
        server 139.159.247.191:8090;
        server 116.62.203.159:8090;
    }

4) fair(第三方), 按后端服务器响应时间分配,响应时间短优先分配

   upstream web_server {
        fair;
        server 139.159.247.191:8090;
        server 116.62.203.159:8090;
    }

 5、 nginx应用场景

1)动静分离场景:将动态资源和静态资源分别部署在不同的应用服务器,通过负载均衡加反向代理处理动态资源,通过路由匹配规则处理静态资源实现动静分离。加快解析的速度,降低单个服务器的压力。

2)同一网站多个app配置:针对各个模块配置反向代理+负载均衡+路由配置。路由定位到对应的模块访问地址,地址通过反向代理实现负载均衡指向不同的应用服务器实现访问。

 

posted @ 2022-09-22 18:29  鱼的记忆·  阅读(149)  评论(0)    收藏  举报