nginx 不尊重“root”指令

nginx 不尊重“root”指令

我正在使用 Ubuntu 运行 EC2 实例,并尝试为两个域设置虚拟服务器,但没有成功,也不知道为什么。我的 Web 文档位于,文件/var/www/<domain>夹下的所有内容www都属于www-data:www-data(目前两个域只有两个 index.html)。我已将站点配置文件放入/etc/nginx/sites-available并链接到sites-enabled。站点配置文件和符号链接也属于,www-data:www-data以防万一。我还将我的域与服务器的公共 IP 添加到,/etc/hosts并且端口 80 当然已在 EC2 控制台中启用。

这里是/etc/nginx/nginx.conf

user www-data www-data;
worker_processes 4;
pid /var/run/nginx.pid;

events {
    worker_connections  16;
}

http {
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log debug;

    gzip on;
    gzip_disable "msie6";

    include /etc/nginx/sites-enabled/*;
}

其中一个站点配置(另一个仅因域名不同而不同):

server {
    listen      80;
    server_name domain1.com www.domain1.com;

    root        /var/www/domain1;
    index       index.html;

    access_log  /var/log/nginx/access_domain1.log;
    error_log   /var/log/nginx/error_domain1.log;
}

当然,每次更改配置后,服务器都会重新启动。添加location如下指令:

location / {
    index index.html;
    root /var/www/domain1;
}

也无济于事。添加try_files(例如$uri $uri/)也无济于事。在 nginx.conf 中定义默认服务器,例如:

server {
    listen 80 default_server;
    server_name localhost;
    root /var/www;
    index index.html;
}

也无济于事。

服务器是nginx 1.1.19。

尽管进行了配置,但在两个域上我都只能收到“欢迎使用 nginx!”,而不是放置在 中的 index.html 文件/var/www

相关内容