nginx错误提示:nginx: [emerg] too long parame

发布时间:2021-09-23

  nginx错误提示:nginx: [emerg] too long parameter ...

  站点添加附加域名,字符数大约有4000多个字符,100多个域名。将此些域名添加到nginx/vhost/站点f的域名项后,重启nginx时,就出现了该错误。

  原因:

  nginx的核心文件限死了 NGX_CONF_BUFFER参数的值为4K,该参数决定了.conf配置文档不能大于4K,如果超过则无法读取,便出现该提示。

  添加大量域名 / 添加非常长的规则指令如伪静态规则或301规则 / 增加的参数项

  解决方案:

  方案1:

  修改核心文件src/core/ngx_conf_file.c,设置为例如8K,

  #define NGX_CONF_BUFFER 8192

  方案2:

  对于域名过多或字符过长,可通过使用多个.conf将域名分开放置。若是伪静态规则过长,则可以使用include引入外部文件,以减小单文档文件的大小。

  

注册即送1000元现金券