nginx检查配置文件语法是否正常,需要检查主配置文件
时间:2019-08-27
本文章向大家介绍nginx检查配置文件语法是否正常,需要检查主配置文件,主要包括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的可能情况
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.cnblogs.com/buxuxiao/p/11416661.html
- Android扫描多媒体文件剖析
- Android的进程与线程使用总结
- Android在WebView中加载HTML并实现交互
- 使用ASP.NET MVC2+PDF.NET 构建一个简单的新闻管理程序 示例过程
- 【开源】QuickPager ASP.NET2.0分页控件V2.0.0.3 【增加了使用说明】
- Android中Java和JavaScript交互
- Android UI控件系列:TabWidget(切换卡)
- 在Linux系统运行WinForm程序
- 将ZIP文件添加到程序集资源文件然后在运行时解压文件
- Android中App安装位置详解
- Java面试题系列之基础部分(二)——每天学5个问题
- Java面试题系列之基础部分(四)——每天学5个问题
- 使用ORM框架,必须迁就数据库的设计吗?
- 使用OQL+SQLMAP解决ORM多表复杂的查询问题
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 前端也能学算法:由浅入深讲解动态规划
- 轻松理解JS中的面向对象,顺便搞懂prototype和__proto__
- 前端也能学算法:由浅入深讲解贪心算法
- web.py指南性说明
- this到底指向啥?看完这篇就知道了!
- 学以致用:手把手教你撸一个工具库并打包发布,顺便解决JS小数计算不准问题
- python 实现 php 的 var_dump 功能
- RSA初探,聊聊怎么破解HTTPS
- 深入解析Underscore.js源码架构
- python正向连接后门
- setTimeout和setImmediate到底谁先执行,本文让你彻底理解Event Loop
- emlog全版本CSRF加用户xsser.me模块
- 从发布订阅模式入手读懂Node.js的EventEmitter源码
- 手写一个Promise/A+,完美通过官方872个测试用例
- 浅析白盒审计中的字符编码及SQL注入