不允许Nginx conf导致服务器伪指令失败

我的一个虚拟主机有问题。 当我重新启动nginx时,它是失败的。

所以我试了一下:

nginx -c /etc/nginx/sites-available/website -t 

这是我的问题:

nginx:[emerg]“server”指令在这里不允许在/ etc / nginx / sites-available / website:1

我看了这个post: nginx服务器指令不允许在这里,但我的nginx.conf是正确的,我没有他的问题。

这里是网站configuration的内容:

 server { server_name www.weacms.com; root /home/ebuildy/website/weacms; index index.html index.php; pagespeed on; pagespeed FileCachePath /var/ngx_pagespeed_cache; location / { try_files $uri $uri/ /index.php; location = /index.php { fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param SCRIPT_FILENAME $request_filename; include fastcgi_params; } } location ~* \.(css|js|gif|jpe?g|png)$ { expires 168h; log_not_found off; add_header Pragma public; add_header Cache-Control "public, must-revalidate, proxy-revali$ } } 

我的configuration包含在nginx.conf中:

  ... # Virtual Host Configs #include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; } 

有人看到问题在哪里吗? 谢谢。

你不testing你的完整configuration,只是在文件/etc/nginx/sites-available/website定义的子/etc/nginx/sites-available/website 。 这不是一个有效的nginxconfiguration文件。

nginx -c /etc/nginx/nginx.conf -t或者你的主要configuration文件所在的位置来尝试。