环境 :windows server 2019 ,nginx-1.19.7
背景:
- 自己经常用这个 nginx 包作为 web 服务器。今天发现 部署到 server 2019 上直接报错了。
- 这可是原生的包,我啥也没改,怎么可能报错。而且之前在 其他服务器用都没问题。
- 特意检查了路径不能是带中文等特殊字符,发现也ok。
这就奇怪了?
分析:查看logs 目录下 error.log ,将最后的报错贴上来,以警后人:
nginx启动报错:unknown directive " " in D:\common\nginx\conf\nginx.conf:3
网上查了下,感谢这个博主:
我将具体原因和解决方法贴上来:
用Nginx部署一个前端项目,用记事本修改了nginx\conf\nginx.conf 文件的相关配置并保存,居然启动时报错:unknown directive " " in D:\nginx\conf\nginx.conf:1
原因:
是编码问题。 conf文件被记事本编辑过,保存成了含BOM编码的文件。
注:记事本编辑UTF-8都会自动加BOM头

解决方法:
使用其他编辑器(不能是记事本)将conf文件另存为UTF-8编码不含Bom的格式。

修改完成后,Nginx成功启动。