nginx检查配置文件语法是否正常,需要检查主配置文件
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
服务器环境:
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检查配置文件语法是否正常,需要检查主配置文件相关推荐
- linux dns主配置文件,RHEL 5下DNS的主配置文件详解
wangyu 于 2009-10-09 17:16:05发表: 用RHEL5默认安装了DNS服务,当使用service named start时发现缺少named.conf.如下所示: [root@l ...
- Samba的主配置文件
为什么80%的码农都做不了架构师?>>> Samba的主配置文件为/etc/samba/smb.conf主配置文件由两部分构成Global Settings (55-245行) ...
- Linux日志系统-03:logrotate主配置文件详解
logrotate主配置文件详解 一.logrotate主配置文件/etc/logrotate.conf # see "man logrotate" for details # r ...
- Qt Creator检查代码语法
Qt Creator检查代码语法 检查代码语法 查看注释 指定线注释位置 JavaScript和QML错误代码 重置代码模型 检查QML和JavaScript 自动格式化QML / JS文件 检查代码 ...
- 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。...
在处理向该请求提供服务所需的配置文件时出错.请检查下面的特定错误详细信息并适当地修改配置文件. 分析器错误信息: 访问被拒绝:"[某程序集名]". 碰到这种错误后,就去喝杯茶, ...
- Nginx配置文件语法和核心功能配置项详解
nginx的配置文件只是一个普通的文本文件. 简单的例子 user nobody; worker_processes 8; error_log varlog/nginx/error.log error ...
- 遭遇:“说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。”错误...
各位,今天遇到了个错误:程序为net3.5 其他的页面都可以使用,唯独有2两个页面提示下面的错误: "/pdd"应用程序中的服务器错误. -------------------- ...
- gulp构建项目(七):gulp-uglify压缩js以及检查js语法错误
需求分析:将js文件压缩成一行,减少js文件的大小.压缩过程中如果遇到js语法错误,将会报错并且压缩会被终止.所以我们需要: 在开发环境下,编写js代码时,要监听并检查js文件的语法,避免语法错误导致 ...
- java 验证sql正确_java检查sql语法是否正确
因为以前作的项目 业务逻辑不能用系统定义的方案作计算 只能是让用户本身输入参数值设置比例计算规则 系统提供sql验证 在通常的项目中也不多用到这种类型的作法 以下:java import java.u ...
- WSL 请进行检查以确保 “defaultProfile“ 与你的某个配置文件的 GUID 相匹配
在配置文件列表中找不到你的默认配置文件-使用第一个配置文件.请进行检查以确保 "defaultProfile" 与你的某个配置文件的 GUID 相匹配. 管理员运行! netsh ...
最新文章
- leetcod算法题--找出星型图的中心节点
- linux基础(1)-yum源配置
- Qt 断言的使用 Q_ASSERT
- mysql开启慢查询方法(转)
- MiniGui移植详解1【转】
- C/S与B/S架构比较
- 广告深度预估技术在美团到店场景下的突破与畅想
- 计算机组成原理—高速缓冲存储器
- matlab 绘制三维空间直线
- 无法找到资源编辑器dll
- C++ primer 5th 习题之10.13
- Matlab导入数据(一定有用!!)
- 随手写的绿色征途手游的脚本辅助代码
- Java Thread 知识点总结
- 南非NRCS认证简介
- Proteus仿真最小系统板的绘制及流水灯
- win7网络本地连接服务器未响应,Win7本地连接未识别无法连接网络如何解决
- 天猫店群玩法有流量销售额却上不去?可能是转化率出了问题。
- ecshop linux,Linux中Ecshop搭建
- 【印刷行业】RICOH MH5320和MH5340喷头(G6)