Nginx Vhost 显示默认索引页,而不是定义的索引页

Nginx Vhost 显示默认索引页,而不是定义的索引页

我最近在 debian 8.8 服务器上安装了 nginx。我已经注册了一个域名,现在我想创建一个虚拟主机来为其提供服务。(将来我可能会为其他域名添加更多虚拟主机。)

问题是,每次我进入时http://[my domain]都会得到默认的 nginx 欢迎页面,而不是我在下面创建的页面/var/www/[my domain]/public_html

下面我发布了我输入的创建新虚拟主机的命令:

sudo mkdir -p /var/www/[my domain]/public_html
sudo chown -R www-data:www-data /var/www/[my domain]/public_html
sudo chmod -R 755 /var/www
sudo nano /var/www/[my domain]/public_html/index.html
sudo nano /etc/nginx/sites-available/[my domain]
sudo ln -s /etc/nginx/sites-available/[my domain] /etc/nginx/sites-enabled/[my domain]
sudo rm /etc/nginx/sites-enabled/default
sudo service nginx restart

在 vhost 文件中我添加了下面几行:

server {
    listen         80;
    listen         [::]:80;
    server_name    [my domain] www.[my domain];
}

server {
    listen         80;

    default_type text/plain;
    root   /var/www/[my domain]/public_html;
    index  index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}

我检查了配置,sudo nginx -t没有报告错误。

我运行 ufw 防火墙并采用以下配置(以防有人需要):

ssh                        ALLOW       Anywhere
Nginx HTTP                 ALLOW       Anywhere
shhh                       ALLOW       Anywhere (v6)
Nginx HTTP (v6)            ALLOW       Anywhere (v6)

答案1

问题是您指定域名的虚拟主机没有其他内容。

您需要删除第一个server块并将server_name指令移至第二个块。

相关内容