nginx检查配置文件语法是否正常,需要检查主配置文件

news/2025/2/12 2:20:29/

https://www.shuizhongyueming.com/2014/11/04/the-possible-reason-for-the-nginx-error-emerg-server-directive-is-not-allowed-here/  原文链接,懒得改了,就抄的,不要喷我,并不是为了盈利,纯属个人记录,方便自己以后操作

 

Nginx 错误[emerg] "server" directive is not allowed here的可能情况

作者 happyWang 日期 2014-11-04 浏览量 2740
Nginx
Nginx 错误[emerg] "server" directive is not allowed here的可能情况
  • 服务器环境:ubuntu 14.04, nginx/1.4.6

  • 执行命令:sudo nginx -t -c /etc/nginx/conf.d/default.conf

  • 命令目的:查看新修改的nginx是否有错误,避免上线导致服务器出错

执行结果:

nginx: \[emerg\] "server" directive is not allowed here in /etc/nginx/conf.d/default.conf:1 nginx: configuration file /etc/nginx/conf.d/default.conf test failed

default.conf里面的内容:

server {listen                      80; server_name localhostmanager.com www.shuizhongyueming.com; root /var/www/www.shuizhongyueming.com; location / { index index.html index.php; } # 媒体资源文件 # TODO: 用一个static.hostmanager.com 之类的域名放置 location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } # 前端代码 # TODO: 用一个fe.hostmanager.com之类的域名放置 location ~ .*.(js|css)$ { expires 1h; } }

一开始以为是语法错误,可是复制了官方文档里面的一个简单PHP站点配置之后,还是报同样的错误,所以基本算排除了语法错误

上网Google的结果,大多说的是server的配置应该放在http里面

可是我的default.conf 是在/etc/nginx/nginx.conf 里面,在http模块下include的,不应该有任何的错误才对

最后自己根据网上这些答案猜测,是我进行语法检测的对象有问题。

要检测现有的修改过的Nginx配置是否有错误,不是单单检测那个修改过的扩展的.conf文件。而是不管任何时候,始终都是去检测主文件/etc/nginx/nginx.conf,只有这样,才能顺利的在对应的模块加载扩展的.conf文件。

这样一来保证了配置的前后语境的正确性,二来,这样才是真正的检测(完全和实际运行情况相符)

所以正确的检测修改的Nginx的语法是否错误的命令应该是:sudo nginx -t -c /etc/nginx/nginx.conf,然后一个欣喜的结果就会是:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

希望这个小的发现能帮助到大家。

 

 

 

https://www.shuizhongyueming.com/2014/11/04/the-possible-reason-for-the-nginx-error-emerg-server-directive-is-not-allowed-here/

转载于:https://www.cnblogs.com/buxuxiao/p/11416661.html


http://www.ppmy.cn/news/608906.html

相关文章

爬虫进阶-反爬破解2(破解加密登陆的过程+账号信息加密的常用算法)

目录 一、破解加密登陆的过程 二、账号信息加密的常用算法 一、破解加密登陆的过程 (一)开发者工具的栏目说明 Elements:网页元素 Network:网络请求记录 Control:控制栏、JS代码框 Sources:各类文件源码及调试 &#xff0…

python 读取excel 表格的数据

自己随便写了一个表格如下 使用工具xlrd 如果没有下载 可以使用pip install xlrd 下载一个 大致需要一下几个步骤 1 打开excel table xlrd.open_workbook("/home/hly/hly/test.xls") 2 获取那一个excel 不如下面是获取第二个excel sheet table.sheet_by_index…

大数据必学语言Scala(三十四):scala高级用法 异常处理

文章目录 异常处理 捕获异常 抛出异常 异常处理 Scala中 无需在方法上声明异常 来看看下面一段代码。 def main(args: Array[String]): Unit = {val i = 10 / 0println("你好!")}Exception in thread "main" java.lang.ArithmeticException: / by ze…

python 往excel 里面写数据

使用的python 的版本为3x 往excel 表格里面写数据使用的是xlwt, 如果电脑上没有 可以使用pip install xlwt 下载一个 步骤如下 1 创建工作薄 xls xlwt.Workbook() 2 添加工作表 sheet xls.add_sheet(sample) 3 使用write 写内容 4 使用save保存excel 具体代码如下 …

微信小程序下拉刷新真机无法弹回

在下拉函数里加上这句wx.stopPullDownRefresh(); /*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh: function () {var that this;// console.log(111)that.getDetails()//获取详情wx.stopPullDownRefresh();}, 转载于:https://www.cnblogs.com/qcjdp/p/11419…

GPU上稀疏矩阵的基本线性代数

GPU上稀疏矩阵的基本线性代数 cuSPARSE库为稀疏矩阵提供了GPU加速的基本线性代数子例程,这些子例程的执行速度明显快于仅CPU替代方法。提供了可用于构建GPU加速求解器的功能。cuSPARSE被从事机器学习,计算流体力学,地震勘探和计算科学等应用的…

UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe6 in position 0: ordinal not in range(128)

详细错误如下 代码如下 # -*- coding: utf-8 -*- import xlwt import sys reload(sys) sys.setdefaultencoding("utf-8") # 创建新的工作簿 table xlwt.Workbook() # 添加工作表 sheet table.add_sheet("Sheet") # 向表中写入数据 sheet.write(0, 0, &q…

大数据必学语言Scala(三十五):scala高级用法 提取器(Extractor)

文章目录 提取器(Extractor) 定义提取器 提取器(Extractor) 我们之前已经使用过scala中非常强大的模式匹配功能了,通过模式匹配,我们可以快速匹配样例类中的成员变量。例如: // 定义样例类 case class SubmitTask(id: String, name: String) case class HeartBeat(tim…