当前位置: 首页 > news >正文

阿里云服务器部署 五 Nginx + springboot

Nginx的部分配置
 

1. 基础容灾配置(被动健康检查)

在 upstream 块中,通过 max_fails 和 fail_timeout 参数定义故障转移规则:

在 upstream 块中,通过 max_fails 和 fail_timeout 参数定义故障转移规则:

nginx

复制

upstream backend {
    # 定义后端服务器,设置失败阈值和超时
    server 172.16.108.42:80 max_fails=3 fail_timeout=10s;  # 10秒内失败3次则标记为不可用
    server 172.16.108.43:80 max_fails=3 fail_timeout=10s;
    
    # 负载均衡策略(可选)
    least_conn;  # 最少连接数策略
}
参数说明:
  • max_fails:在 fail_timeout 时间内,允许的最大失败请求次数。

  • fail_timeout:服务器被标记为不可用的时间(超时后自动恢复探测)。

  • 1. 权重(weight)的作用

  • 默认值:如果未指定 weight,默认值为 1

  • 流量分配规则:根据权重值的比例分配请求。

  • 适用场景:后端服务器性能不均衡时(如一台性能强、一台性能弱),通过权重调整流量分配。

效果:
  • 当某台服务器连续失败 3 次后,Nginx 会将其标记为不可用,10秒内不再分配请求

  • 10秒后,Nginx 会尝试重新发送请求探测是否恢复。

http {
    # ... 其他原有配置 ...

    upstream ai-backend {
        server 172.16.108.42:10011 weight=1 max_fails=3 fail_timeout=10s;
        server 172.16.108.43:10011 weight=1 max_fails=3 fail_timeout=10s;
        keepalive 32;
        least_conn;
    }

    server {
        listen 10011;
        server_name 172.16.108.41;

        location / {
            proxy_pass http://ai-backend;
            proxy_http_version 1.1;
            proxy_set_header Connection "";
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            
            # 超时时间设为20分钟
            proxy_connect_timeout 1200s;
            proxy_read_timeout     1200s;
            proxy_send_timeout     1200s;
        }
    }

    # ... 其他服务配置 ...
}
http {
    # ... 原有其他配置(如AI服务、日志格式等) ...

    # 定义词向量服务的upstream
    upstream wordvec-backend {
        server 172.16.108.44:10011 weight=1 max_fails=3 fail_timeout=10s;  # 本地Nginx服务器的10011端口(若服务部署在Nginx本机)
        server 172.16.108.42:10011 weight=1 max_fails=3 fail_timeout=10s;  # 另一台服务器的10011端口
        keepalive 32;                # 保持长连接
        least_conn;                  # 最少连接数负载均衡
    }

    # 词向量服务的独立监听端口(例如10012)
    server {
        listen 6001;                # 监听外部请求的端口
        server_name 172.16.108.41;   # Nginx服务器IP或域名

        location / {
            proxy_pass http://wordvec-backend;  # 转发到词向量后端
            proxy_http_version 1.1;
            proxy_set_header Connection "";    # 启用HTTP 1.1长连接
            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_set_header X-Forwarded-Proto $scheme;

            # 超时时间设为20分钟(1200秒)
            proxy_connect_timeout 1200s;  # 连接后端超时
            proxy_read_timeout     1200s;  # 读取响应超时
            proxy_send_timeout     1200s;  # 发送请求超时
        }
    }
}

1. 检查配置文件语法

在重启前 必须验证配置正确性,避免错误配置导致服务崩溃:

sudo nginx -t
nginx: [warn] load balancing method redefined in /etc/nginx/nginx.conf:57
nginx: [warn] load balancing method redefined in /etc/nginx/nginx.conf:64
nginx: [warn] load balancing method redefined in /etc/nginx/nginx.conf:71
nginx: [warn] load balancing method redefined in /etc/nginx/nginx.conf:79
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

2. 重新加载配置(平滑重启)

传统方式:

sudo nginx -s reload

[root@bigdata41 nginx]# sudo nginx -s reload
nginx: [warn] load balancing method redefined in /etc/nginx/nginx.conf:57
nginx: [warn] load balancing method redefined in /etc/nginx/nginx.conf:64
nginx: [warn] load balancing method redefined in /etc/nginx/nginx.conf:71
nginx: [warn] load balancing method redefined in /etc/nginx/nginx.conf:79
nginx: [error] invalid PID number "" in "/run/nginx.pid"

报异常 暂未处理

3. 完全重启服务(强制重启)
sudo systemctl restart nginx

sudo systemctl restart nginx  重新启动nginx
sudo systemctl status nginx  查看nginx 状态

将41上已有的6001端口服务迁移走

 sudo systemctl status nginx

相关文章:

  • 使用Systemd管理ES服务进程
  • Python实验:Python语言分支循环结构应用
  • 未来科幻赛博朋克风品牌电影游戏设计装饰英文字体安装包 Heat Robox – The Ultimate Futuristic Display Font
  • Android java 设计封装增强型WebView组件
  • HTTPS 加密过程详解
  • 关于Unity的CanvasRenderer报错
  • spring-tx笔记
  • 关于多目标进化算法评估指标
  • 可编辑52页PPT | 智慧园区安全生产顶层设计方案
  • 在C语言基础上学Java【Java】【二】
  • 工业软件的破局与重构:从技术依赖到自主创新的未来路径
  • Vagrant+VMWare 安装Ubuntu24.04
  • JVM常见概念之条件移动
  • 《掌握基础DOM操作:从零开始的前端入门指南》
  • C++的常用容器嵌套
  • Android Compose 基础布局之 Box 和 Stack 源码深度剖析(九)
  • 【留一下记录】Vllm在Linux环境下的学习笔记
  • 多路FM调频广播解调器:多路电台FM广播信号一体化解调处理方案
  • Burp Suite HTTPS解密原理
  • 星越L_大灯延时关闭使用讲解
  • 巴基斯坦称对印精准打击造成设施损坏和人员伤亡
  • 巴军事行动致印度70%电网瘫痪
  • 马云再次现身阿里打卡创业公寓“湖畔小屋”,鼓励员工坚持创业精神
  • 2025中国南昌国际龙舟赛5月23日启幕,是历年来南昌举办的最高规格龙舟赛事
  • 越怕出错越会出错,“墨菲定律”的魔咒该怎么破?
  • 赵作海因病离世,妻子李素兰希望过平静生活