一、nginx: [emerg] invalid number of arguments in "include" directive in C:\Program Files\nginx-1.15.4/conf/nginx.conf:61
- 时间:2022-11-25
- 操作系统:Windows
我是执行 nginx -s reload 时提示报错信息:
大致意思是:nginx: [emerg]在C:\Program Files\ nginx-1.15.4/conf/nginx.conf中"include"指令中的参数数量无效
根据报错信息的指示去 nginx.conf 文件的第61行代码查看:
include C:/Program Files/nginx-1.15.4/conf/conf.d/*.conf;
我反反复复确定了单词没有拼错、路径没有写错,最后的英文分号也有。后来在网上搜索了一遍,才知道英文单词之间不能留有空格!!!(Program Files 之间有空格)
# 修改后
include C:/ProgramFiles/nginx-1.15.4/conf/conf.d/*.conf;
再用 nginx -t 检查一遍,没有报错了:
但是这样nginx依然检测不到这个路径,因为Windows中的 C:/Program Files 文件夹是有空格的,除非你修改这个文件夹的名字删除空格,但是这样就会影响到其他Windows上的程序,所以建议nginx还是不要安装在有空格、中文名称的目录下为好!
总结:
在nginx配置文件中填写的路径格式和目录(文件夹)名称中不能有空格、中文、反斜杠(\)!!!
二、nginx: [error] OpenEvent("Global\ngx_reload_2152") failed (5: Access is denied)
- 时间:2022-11-25
- 操作系统:Windows
使用 nginx -t 检测没有报错信息,反而使用 nginx -s reload 时出现报错:
大致报错意思是:nginx: [error] OpenEvent("Global\ngx_reload_2152") failed(5:访问被拒绝)
第一反应以为是权限问题导致的,然后用管理员权限进入cmd,依然是这个报错信息。
解决方案:
先进入nginx的安装目录,使用 start nginx.exe,再使用 nginx -s reload 即可成功!!!
三、nginx: [emerg] unknown directive "stream" in /etc/nginx/nginx.conf:13
- 时间:2023-02-14
- 操作系统:CentOS 7.6
[root@k8s-master1 work]# nginx -t
nginx: [emerg] unknown directive "stream" in /etc/nginx/nginx.conf:13
nginx: configuration file /etc/nginx/nginx.conf test failed
问题原因
因为在 nginx 中增加了这个 steam 模块配置:
解决办法
#1. 安装阿里云 epel.repo 源(如果第二步执行不成功,再执行这步,记得提前备份好原来的 epel.repo)
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum -y install epel-release
#2. 应该是缺少 modules 模块
yum -y install nginx-all-modules.noarch
# 然后在用 nginx -t 就好了
[root@k8s-master1 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
版权归原作者 Stars.Sky 所有, 如有侵权,请联系我们删除。