windows server 2019 启动 nginx 报错

环境 :windows server 2019 ,nginx-1.19.7

背景:

  1. 自己经常用这个 nginx 包作为 web 服务器。今天发现 部署到 server 2019 上直接报错了。
  2. 这可是原生的包,我啥也没改,怎么可能报错。而且之前在 其他服务器用都没问题。
  3. 特意检查了路径不能是带中文等特殊字符,发现也ok。

这就奇怪了?

分析:查看logs 目录下 error.log ,将最后的报错贴上来,以警后人:

复制代码
nginx启动报错:unknown directive " " in D:\common\nginx\conf\nginx.conf:3

网上查了下,感谢这个博主:

nginx启动报错:unknown directive " " in D:\nginx\conf\nginx.conf:3_unknown directive "user nginx-CSDN博客文章浏览阅读936次。在尝试使用Nginx部署前端项目时,由于使用记事本以UTF-8带BOM格式保存了nginx.conf配置文件,导致启动时出现unknowndirective错误。解决方案是使用不带BOM的UTF-8编码编辑器重新保存conf文件。完成修改后,Nginx成功启动。https://blog.csdn.net/shunhua19881987/article/details/125255452

我将具体原因和解决方法贴上来:

用Nginx部署一个前端项目,用记事本修改了nginx\conf\nginx.conf 文件的相关配置并保存,居然启动时报错:unknown directive " " in D:\nginx\conf\nginx.conf:1

原因:

是编码问题。 conf文件被记事本编辑过,保存成了含BOM编码的文件。

注:记事本编辑UTF-8都会自动加BOM头

解决方法:

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

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

相关推荐
草莓熊Lotso1 小时前
【Linux系统加餐】从原理到封装:基于建造者模式实现System V信号量工业级C++封装
android·linux·运维·服务器·网络·c++·建造者模式
广州灵眸科技有限公司7 小时前
瑞芯微(EASY EAI)RV1126B 核心板供电电路
linux·运维·服务器·单片机·嵌入式硬件·电脑
keyipatience7 小时前
18.Linux进程退出和进程等待机制详解
linux·运维·服务器
仙柒4157 小时前
控制平面组件和节点组件
运维·容器·kubernetes
齐齐大魔王7 小时前
Linux-网络编程实战
linux·运维·网络
wanhengidc8 小时前
私有云的作用都有哪些?
运维·服务器·网络·游戏·智能手机
花阴偷移8 小时前
Ubuntu 22.04版本下配置静态IP
linux·运维·服务器·tcp/ip·ubuntu
牛马十年9 小时前
当自动化运维系统被ai重构后
运维·人工智能·自动化