[emerg] unknown directive "  " in /usr/local/nginx/conf/nginx 错误

问题

这个错误提示 unknown directive "  ",说明配置文件中包含了全角空格 而不是正常的半角空格,全角空格在某些编辑器或工具中不可见,但 Nginx 会将其误认为是指令,导致解析失败。

解决

排查并删除全角空格,可以用以下命令查找配置文件中的全角空格

grep -n " " /usr/local/nginx/conf/nginx.conf

如果输出类似这样

5:    server_name example.com;
15: worker_processes 1;

每行中出现的   都是全角空格,需要替换为半角空格。

自动替换全角空格为半角空格,使用 sed 将全角空格替换为半角空格:

sed -i 's/ / /g' /usr/local/nginx/conf/nginx.conf

再次验证

grep -n " " /usr/local/nginx/conf/nginx.conf

如果没有输出,说明已清理干净。完成替换后,测试配置是否正常,nginx -t

posted @ 2024-12-15 00:12  一剑天门  阅读(72)  评论(0编辑  收藏  举报