nginx检查报错:nginx: [emerg] "server" directive is not allowed here in

想检查一个配置文件是否正确,-c 指定之后发现有报错,如下:

[[email protected]2:~# nginx -t -c /etc/nginx/conf.d/default.conf
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

有时候文件是正确无误,但是也会报错。

实际问题是进行语法检测的对象有问题;

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

这样保证了配置的前后语境的正确性,这样才是真正的检测。

所以正确的检测修改的Nginx的语法是否错误的命令应该是: nginx -t -c /etc/nginx/nginx.conf ,如果配置文件有异常,会直接报出,否则就是

[[email protected]:~# 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

[[email protected]:~# nginx -t
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/orzs/p/11563875.html

时间: 2024-11-09 21:33:57

nginx检查报错:nginx: [emerg] "server" directive is not allowed here in的相关文章

阿里云centOS7.4 nginx: [emerg] "server" directive is not allowed here in /etc/nginx/vhost/xxxxxx.conf:2

里云centOS7.4配置多个站点遇到的问题nginx: [emerg] "server" directive is not allowed here in /etc/nginx/vhost/xxxxxx.conf:2这个错误好尴尬,费了几个小时去解决,小白呀没办法 先贴下/etc/nginx/nginx.conf的内容 worker_processes 1; events { worker_connections 1024; } http { include mime.types;

Nginx 启动报错 (nginx: error while loading shared libraries: XXX: cannot open shared object file: No such file or directory ) 的解决办法

本文解决 Nginx 因库文件缺失而无法启动问题 没有采用缺失什么就安装什么的解决办法, 而是借助于另一个正常运行的Linux , 将其上的库文件发送给缺失库文件的 Linux 服务器 以 缺失  libharfbuzz.so.0 为例 , 其它库文件缺失 大同小异 前提摘要: 今天打开我的网址 www.cheery.pro 时发现,  多次重试也没反应, 这可怎么办? 这是怎么回事 问题探究: ping了一下服务器发现可以ping通,  于是猜测可能是Nginx 出现了问题, 打开宝塔面板,

Nginx启动报错:

Nginx启动报错:10013: An attempt was made to access a socket in a way forbidden 2014-08-07 14:39:10   来源:   评论:0 点击: Nginx在win7,win2008下启动报错:bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permis

Nginx启动报错:10013: An attempt was made to access a socket in a way forbidden

Nginx在win7,win2008下启动报错:bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions) . 原因是Win7下nginx默认80端口被System占用,造成nginx启动报错的解决方案. 在cmd窗口运行如下命令: [plain] C:\Users\Administrator>netstat -ao

mha 复制检查报错“There is no alive server. We can't do failover”

安装mha所参考的文章: http://linzhijian.blog.51cto.com/1047212/1906434 http://www.cnblogs.com/xiaoboluo768/p/5984530.html 参考以上文章搭建mha0.57+centos7+mariadb10.1.22 配置文件内容: 验证: 1.验证ssh成功 2.验证复制状态失败 解决思路: 1.远程测试数据库是否可以连接,可以连接 答案:未解决 2.肯定不能度娘了 在谷歌上查询到wubx大师回答的如上错误的

FastDFS整合nginx后,nginx一直报错

FastDFS整合nginx后,nginx一直报错: 报错内容: [2018-06-11 09:41:21] ERROR - file: ../common/fdfs_http_shared.c, line: 148, param "http.mime_types_filename" not exist or is empty 处理过程: #include http.conf是写在/etc/fdfs/mod_fastdfs.conf里,然而在 /etc/fdfs目录中没有 http.c

nginx启动报错:Job for nginx.service failed. See 'systemctl status nginx.service' and 'journalctl -xn' fo

一.背景 这个错误在重启nginx或者启动nginx的时候,经常会出现.我之前也一直认为出现这个错误是因为有程序占用了nginx的进程.但是知其然不知其所以然.每次报错都有点懵逼,所以这边一步步排查错误,做个记录. 二.排错过程 1.按照提示 //按照提示,执行此命令,查看错误原因 systemctl status nginx.service 由报错信息可知,nginx绑定80端口失败.详细错误请输入 -l 继续查看 2.继续跟踪错误 //查看错误的详情 systemctl status ngi

mysql报错:MySQL server version for the right syntax to use near 'type=InnoDB'

工作中使用sql语句建表时,mysql报了如下错误: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type=InnoDB' at line 1 解决方案: 这个报错是由于某些版本的mysql不支持type写法,将type关键词改成ENGINE 即可. 版权声明:本文为博主原

Eclipse下ADB报错:Android ADB server didn't ACK,解决办法

转载请注明出处:http://blog.csdn.net/xiaanming/article/details/9401981 ADB server didn't ACK 这个问题会困恼很多的新手朋友,我以前刚开始做Android的时候也遇到过这个问题,不过自己百度,google啥的,也不知道怎么就给解决了,看到群里很多新手朋友都会问这个问题,说实话我也没有一个解决这个问题的终极方法(百试百灵的那种,哈哈),自己没遇到也没有认真的去对待他,今天,就是在今天,我打开Eclipse连上手机,准备调试程