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

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

  1. linux dns主配置文件,RHEL 5下DNS的主配置文件详解

    wangyu 于 2009-10-09 17:16:05发表: 用RHEL5默认安装了DNS服务,当使用service named start时发现缺少named.conf.如下所示: [root@l ...

  2. Samba的主配置文件

    为什么80%的码农都做不了架构师?>>>    Samba的主配置文件为/etc/samba/smb.conf主配置文件由两部分构成Global Settings (55-245行) ...

  3. Linux日志系统-03:logrotate主配置文件详解

    logrotate主配置文件详解 一.logrotate主配置文件/etc/logrotate.conf # see "man logrotate" for details # r ...

  4. Qt Creator检查代码语法

    Qt Creator检查代码语法 检查代码语法 查看注释 指定线注释位置 JavaScript和QML错误代码 重置代码模型 检查QML和JavaScript 自动格式化QML / JS文件 检查代码 ...

  5. 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。...

    在处理向该请求提供服务所需的配置文件时出错.请检查下面的特定错误详细信息并适当地修改配置文件. 分析器错误信息:   访问被拒绝:"[某程序集名]". 碰到这种错误后,就去喝杯茶, ...

  6. Nginx配置文件语法和核心功能配置项详解

    nginx的配置文件只是一个普通的文本文件. 简单的例子 user nobody; worker_processes 8; error_log varlog/nginx/error.log error ...

  7. 遭遇:“说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。”错误...

    各位,今天遇到了个错误:程序为net3.5  其他的页面都可以使用,唯独有2两个页面提示下面的错误: "/pdd"应用程序中的服务器错误. -------------------- ...

  8. gulp构建项目(七):gulp-uglify压缩js以及检查js语法错误

    需求分析:将js文件压缩成一行,减少js文件的大小.压缩过程中如果遇到js语法错误,将会报错并且压缩会被终止.所以我们需要: 在开发环境下,编写js代码时,要监听并检查js文件的语法,避免语法错误导致 ...

  9. java 验证sql正确_java检查sql语法是否正确

    因为以前作的项目 业务逻辑不能用系统定义的方案作计算 只能是让用户本身输入参数值设置比例计算规则 系统提供sql验证 在通常的项目中也不多用到这种类型的作法 以下:java import java.u ...

  10. WSL 请进行检查以确保 “defaultProfile“ 与你的某个配置文件的 GUID 相匹配

    在配置文件列表中找不到你的默认配置文件-使用第一个配置文件.请进行检查以确保 "defaultProfile" 与你的某个配置文件的 GUID 相匹配. 管理员运行! netsh ...

最新文章

  1. leetcod算法题--找出星型图的中心节点
  2. linux基础(1)-yum源配置
  3. Qt 断言的使用 Q_ASSERT
  4. mysql开启慢查询方法(转)
  5. MiniGui移植详解1【转】
  6. C/S与B/S架构比较
  7. 广告深度预估技术在美团到店场景下的突破与畅想
  8. 计算机组成原理—高速缓冲存储器
  9. matlab 绘制三维空间直线
  10. 无法找到资源编辑器dll
  11. C++ primer 5th 习题之10.13
  12. Matlab导入数据(一定有用!!)
  13. 随手写的绿色征途手游的脚本辅助代码
  14. Java Thread 知识点总结
  15. 南非NRCS认证简介
  16. Proteus仿真最小系统板的绘制及流水灯
  17. win7网络本地连接服务器未响应,Win7本地连接未识别无法连接网络如何解决
  18. 天猫店群玩法有流量销售额却上不去?可能是转化率出了问题。
  19. ecshop linux,Linux中Ecshop搭建
  20. 【印刷行业】RICOH MH5320和MH5340喷头(G6)

热门文章

  1. c#打开数据库连接池的工作机制_数据库连接池-tomcat-jdbc使用笔记
  2. python第三方库之学习pyserial库--串口通信
  3. Linux系统管理必备知识之利用ssh传输文件
  4. 宿主机虚拟机文件复制 apt-get 换成yum
  5. Linux BSP非标准HDMI分辨率
  6. CUDA Pro:通过向量化内存访问提高性能
  7. Mybatis获取参数值的方式
  8. RESTful API 最佳实践
  9. java jtable 单元格合并_JTable 单元格合并 【转】
  10. Ubuntu 系统 下 AndroidStudio 工具 使用ctrl+z 回退上一步的方法