nginx: [emerg] unknown directive " " in /etc/nginx/conf.d/XXX.conf:122

总结:
该问题为文本从Windows中拷入Linux,空格编码不统一。

问题复现:
在nginx配置文件中增加gzip配置后,出现该报错,新增配置如下。

nginx开启gzip
解决方法:
最开始排错角度为配置的准确性,在网上寻找许多资料后,确认当前配置没有问题。
再次查看报错,感觉错误信息在说文件中空格出现了问题,空格被当做了一个配置项?忽然想到这些配置是从Windows中拷入,会不会像之前遇到的^ M问题一样?继续从Windosw文本复制到Linux这个角度排查。

# cat -A /etc/nginx/conf.d/XXX.conf

输出如下:

报错信息截图
可以看到,输出了很多M-BM-,这些貌似是从Windows拷贝过来的空格。

将文本中所有的M-BM-替换为普通空格后,nginx检测通过。

问题解决

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐