Nginx conf 失败,原因是服务器指令不允许

Nginx conf 失败,原因是服务器指令不允许

我的一个 vhost 出了问题。当我重启 nginx 时,它失败了。

所以我尝试了:

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

这是我的问题:

nginx:[emerg] /etc/nginx/sites-available/website:1 中不允许使用“server”指令

我看了这篇文章:此处不允许使用 nginx 服务器指令但是我的 nginx.conf 是正确的,我没有他的问题。

以下是网站配置的内容:

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$
        }
}

我的配置包含在 nginx.conf 中:

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

有人知道问题出在哪里吗?谢谢。

答案1

您无需测试完整的配置,只需测试文件中定义的子站点。这本身/etc/nginx/sites-available/website并不是有效的配置文件。nginx

尝试使用nginx -c /etc/nginx/nginx.conf -t或位于主配置文件所在的任何位置。

相关内容