欢迎来到徐庆高(Tea)的个人博客网站
磨难很爱我,一度将我连根拔起。从惊慌失措到心力交瘁,我孤身一人,但并不孤独无依。依赖那些依赖我的人,信任那些信任我的人,帮助那些给予我帮助的人。如果我愿意,可以分裂成无数面镜子,让他们看见我,就像看见自己。察言观色和模仿学习是我的领域。像每个深受创伤的人那样,最终,我学会了随遇而安。
当前位置: 日志文章 > 详细内容

nginx 负载均衡配置及如何解决重复登录问题

2025年07月13日 Mysql
一:源码安装:nginx配置1.配置编译参数2.编译make3.编译安装make install二,四层代理和七层代理区别所代理的osi模型不一样1.二者混合使用举例:# 同时配置四层和七层代理eve

一:源码安装:

nginx配置

1.配置编译参数

2.编译

make 

3.编译安装

make install

 二,四层代理和七层代理区别

所代理的osi模型不一样

1.二者混合使用举例:

# 同时配置四层和七层代理
events {
    worker_connections 1024;
}
http {  # 七层代理
    upstream web_backend {
        server 10.0.0.10:8080;
    }
    server {
        listen 80;
        location / {
            proxy_pass http://web_backend;
        }
    }
}
stream {  # 四层代理
    upstream mysql_backend {
        server 10.0.0.20:3306;
    }
    server {
        listen 33060;
        proxy_pass mysql_backend;
    }
}

实战配置如下:

weight为设置服务器权重值,默认是1

max_fails设置最大失败次数,就失败多少次,判定该服务器故障

fail_timeout设置失败超时时间,单位为秒,即失败后,多少秒内不再检查访问该服务器

down标记服务器已关机,不参与集群调度

2.解决重复登录问题:

修改proxy的nginx配置文件,添加ip_hash,使同一ip始终访问同一web地址

三:负载均衡常见的四种策略

此处使用docker 安装nginx 

   docker run -d -v /opt/index0.html/:/usr/share/nginx/html/index.html -p80 nginx:latest
   docker run -d -v /opt/index1.html:/usr/share/nginx/html/index.html -p80 nginx:latest
   docker run -d -v /opt/index2.html:/usr/share/nginx/html/index.html -p80 nginx:latest
# 创建三个web端服务
在/opt/目录下创建三个文件 为index0.html,index1.html.index2.html
创建内容分别为
1
22
333
docker run -d -v /root/nginx.conf:/etc/nginx/nginx.conf -p80 nginx:latest
创建nginx 代理端
docker cp 99:/etc/nginx/nginx.conf /root/  (99为容器名)
将web端中nginx的主配置文件 复制下载, 便于后续修改代理端配置文件

 如下为初始化nginx的主配置文件

/etc/nginx/nginx.conf

容器创建如下:

第一个为代理端,后三个为web端

1.轮询

即依次按顺序进行访问

2.加权轮询

即按权重排名,权重越大访问的次数越多

如 下,若访问6次,74 访问2次 75 访问3次 76访问1次。

3.最少连接

即选择连接数最少的服务器

4.加权最少连接

即选择权重,连接数最少的服务器

访问页面:


 

到此这篇关于nginx 负载均衡配置(加解决重复登录问题)的文章就介绍到这了,更多相关nginx 负载均衡配置内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!