You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Arch Linux服务器Nginx升级后显示默认欢迎页而非目录列表

Nginx升级后显示默认欢迎页的排查与修复

问题概述

  • 环境:Arch Linux远程服务器,Nginx部署
  • 网站文件路径:/srv/http/mywebsite.com(无index.html,此前可正常显示目录文件列表)
  • 触发操作:执行yay -Syyu升级软件包,同时删除/var/spool/clientmqueue目录下文件
  • 当前故障:访问mywebsite.com仅显示Nginx默认欢迎页

配置文件分析

1. /etc/nginx/nginx.conf 关键片段

默认配置中存在监听80端口的localhost服务器块,根目录指向Nginx默认欢迎页路径:

server {
    listen       80;
    server_name  localhost;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
}

2. /etc/nginx/sites-enabled/mywebsite.com 关键片段

自定义站点仅配置了443端口的HTTPS服务,未处理80端口的HTTP请求:

server {
listen 443;
ssl on;
ssl_certificate /etc/ssl/cert_chain.crt;
ssl_certificate_key /etc/ssl/mywebsite.com.key;

    server_name  mywebsite.com www.mywebsite.com;
    access_log /var/log/nginx/nginx.vhost.access.log;
    error_log /var/log/nginx/nginx.vhost.error.log;
    location / {
            root /srv/http/mywebsite.com;
            index index.html;
            autoindex on;
            autoindex_exact_size off;
            # 跨域配置省略
    }
}

故障原因

  1. 端口监听缺失:自定义站点仅配置HTTPS(443端口),但用户访问mywebsite.com时默认走HTTP(80端口),Nginx匹配到nginx.conf中的默认80端口服务器块,返回默认欢迎页。
  2. 升级触发配置重载:yay -Syyu升级Nginx时自动重载了配置,若此前存在的80端口配置被覆盖或丢失,就会出现此问题。
  3. 删除/var/spool/clientmqueue无关联:该目录属于邮件服务(sendmail/postfix),与Nginx配置无直接关系。

修复步骤

步骤1:确认站点配置导入

检查/etc/nginx/nginx.conf的http块中是否包含sites-enabled目录的导入配置,若没有则添加:

http {
    # 其他原有配置...
    include /etc/nginx/sites-enabled/*;
}

步骤2:为自定义站点添加80端口处理

修改/etc/nginx/sites-available/mywebsite.com,添加80端口的服务器块,二选一即可:

方式一:HTTP重定向到HTTPS(推荐)

在现有server块上方添加:

server {
    listen 80;
    server_name mywebsite.com www.mywebsite.com;
    return 301 https://$server_name$request_uri;
}

方式二:直接提供HTTP服务

server {
    listen 80;
    server_name mywebsite.com www.mywebsite.com;
    access_log /var/log/nginx/nginx.vhost.access.log;
    error_log /var/log/nginx/nginx.vhost.error.log;
    location / {
            root /srv/http/mywebsite.com;
            index index.html;
            autoindex on;
            autoindex_exact_size off;
            # 复制原有跨域配置到此处
    }
}

步骤3:验证配置并重启Nginx

  • 检查配置语法正确性:
sudo nginx -t
  • 重启Nginx服务:
sudo systemctl restart nginx

步骤4:确认目录权限

确保Nginx进程有权限读取网站目录:

sudo chown -R http:http /srv/http/mywebsite.com
sudo chmod -R 755 /srv/http/mywebsite.com

内容的提问来源于stack exchange,提问作者Generic_User_ID

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 12:17:02