哎呦报错啦怎么办?nginx: [emerg] “server“ directive is not allowed here in /usr/local/nginx/conf/nginx.conf53

报错怎么办?不要慌,排它!

1.具体报错提示信息

nginx: [emerg] “server” directive is not allowed here in /usr/local/nginx/conf/nginx.conf:53
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed

2.报错背景介绍

做nginx服务的基于域名的niginx虚拟主机时,修改配置文件vim /usr/local/nginx/conf/nginx.conf 配置具体域名字符集访问日志和相应的站点位置后,保存退出,在nginx -t 检查文件时出现报错。

我的具体配置信息如下

[root@www momo]# vim /usr/local/nginx/conf/nginx.conf

在这里插入图片描述


[root@www momo]# nginx -t
nginx: [emerg] "server" directive is not allowed here in /usr/local/nginx/conf/nginx.conf:53
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed

4.排错思路过程

(1)首先,要看报错提示内容,定位故障位置
nginx: [emerg] “server” directive is not allowed here in /usr/local/nginx/conf/nginx.conf:53
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed

根据报错提示表示在53行的service部分不被允许,那就重新进入配置文件,找到53行的service部分,查看是否配置有问题

(2)排错分析及过程
一开始我以为是service部分配置输入有错,就将这部分内容删除后重新设置了一下
在这里插入图片描述
结果不如意,重新检测后还是报一样的错误

(3)转机来了
改变思路重新仔细看配置文件内容,真的是看了好久

终于发现问题,一万个我草奔袭而来

发现问题解决问题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
分析:
53行的service部分应该是包含在http{}的模块内的,但是我在51行的位置多加了一个} ,相当于把53行的service部分括出了http模块范围外,所以才会提示这部分service服务不被允许。那就简单了,把51行的}去掉应该就解决了。

5.你体验过这样的快乐吗,不,你不懂。

果然分析的没错,看到successful是不是很亲切,酸爽的感觉。虽然问题不大,是小错误,但是体会到了成功的快乐。

[root@www momo]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

在这里插入图片描述

6.小结一下

(1)故障不可怕,谁遇谁强大,遇到故障不用慌,静下心来对待问题
(2)思路很重要,根据报错提示,定位故障,有方向的查错
(3)没有解决不了的问题,如果有那就是时间问题

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值