bug? nginx upstream slow_start 参数无效

问题描述

我有个后端服务程序启动比较耗时,从进程启动到可以正常访问需要5分钟左右。nginx反向代理的slow_start参数可以在后端服务健康后缓冲一段时间,解决我后端服务重启后的访问失败情况

问题出现的环境背景及自己尝试过哪些方法

通过实际测试发现多版本的nginx均无法识别这个参数
已经测试的nginx版本包括 1.4.6、1.12、1.14

➜ nginx /usr/sbin/nginx -t
nginx: [emerg] invalid parameter "slow_start=300s" in /etc/nginx/nginx.conf:59
nginx: configuration file /etc/nginx/nginx.conf test failed

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)
Nginx upstram段配置如下:

upstream erp {

keepalive 1000;
server erp1.server.com:8069 weight=5 max_fails=2 fail_timeout=10s slow_start=300s;
server test1.server.com:8069 weight=5 max_fails=2 fail_timeout=10s slow_start=300s;

}

server {

listen 80;
server_name mytest.com;

client_max_body_size 100M;

access_log /var/log/nginx/erp.log;
error_log /var/log/nginx/erp.err;

location / {
    proxy_next_upstream error timeout invalid_header http_500 http_502 http_504;
    proxy_connect_timeout 3;
    proxy_read_timeout 900;
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_pass http://erp;
}

}

你期待的结果是什么?实际看到的错误信息又是什么?

根据nginx官方Doc显示应该能正常识别slow_start参数。
并且upstream 字段下的配置文件与官方格式一直,肉眼找不出啊来错误。

不明白为什么不能是被这个参数,求解!!

➜ nginx /usr/sbin/nginx -t
nginx: [emerg] invalid parameter "slow_start=300s" in

阅读 4.7k
1 个回答
新手上路,请多包涵

该功能可能是nginx plus里面的,但是在nginx.org里可以看到参数,很郁闷。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题