nginx: [emerg] unknown directive " " in /etc/nginx/conf.d/XXX.conf:122
总结:
该问题为文本从Windows中拷入Linux,空格编码不统一。
问题复现:
在nginx配置文件中增加gzip配置后,出现该报错,新增配置如下。
解决方法:
最开始排错角度为配置的准确性,在网上寻找许多资料后,确认当前配置没有问题。
再次查看报错,感觉错误信息在说文件中空格出现了问题,空格被当做了一个配置项?忽然想到这些配置是从Windows中拷入,会不会像之前遇到的^ M问题一样?继续从Windosw文本复制到Linux这个角度排查。
# cat -A /etc/nginx/conf.d/XXX.conf
输出如下:
可以看到,输出了很多M-BM-
,这些貌似是从Windows拷贝过来的空格。
将文本中所有的M-BM-
替换为普通空格后,nginx检测通过。