问题
这个错误提示 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