阿里云centOS7.4 nginx: [emerg] "server" directive is not allowed here in /etc/nginx/vhost/x
Posted 奥雷连诺
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云centOS7.4 nginx: [emerg] "server" directive is not allowed here in /etc/nginx/vhost/x相关的知识,希望对你有一定的参考价值。
里云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; default_type application/octet-stream; sendfile on; keepalive_timeout 65; include /etc/nginx/vhost/*.conf; server { listen 80; server_name _; root /usr/share/nginx/html; include /etc/nginx/vhost/*.conf; } }
vhost/mayifa.conf内容
server { listen 80; server_name localhost; root /data/www/mayifanx; index index.php index.html index.htm; location ~ \\.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
就这个配置好好的,systemctl restart nginx ,依照命令使用systemctl status nginx.service
检测为什么为老是报错
nginx: [emerg] "server" directive is not allowed here in /etc/nginx/vhost/xxxxxx.conf:2
所以nginx.conf中server节点的 include /etc/nginx/vhost/*.conf; 应该被删掉
正确的/etc/nginx/nginx.conf配置如下
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; include /etc/nginx/vhost/*.conf; server { listen 80; server_name _; root /usr/share/nginx/html; } }
systemctl restart nginx
终于正常了。
可以使用 nginx -t -c /etc/nginx/nginx.conf 这个检测配置是否正常,今天才明白nginx.conf配置是把你指定include配置一起包含的,类似C++中的include
以上是关于阿里云centOS7.4 nginx: [emerg] "server" directive is not allowed here in /etc/nginx/vhost/x的主要内容,如果未能解决你的问题,请参考以下文章
阿里云centos7成功安装和启动nginx,但是外网访问不了的解决方案