插件窝 干货文章 nginx如何配置默认站点

nginx如何配置默认站点

配置 server default Nginx 819    来源:    2025-04-22

Nginx 默认站点配置指南

在Nginx中配置默认站点(即当没有匹配到其他虚拟主机时使用的站点)有几种方法,下面我将详细介绍最常用的配置方式。

方法一:使用默认服务器指令

这是最推荐的方法,通过在server块中添加default_server参数来指定默认站点:

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;  # 使用下划线作为通配符

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

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

关键点: - default_server参数指定这是默认的服务器块 - server_name _使用下划线作为通配符,匹配所有未指定的域名 - 确保这个配置是Nginx配置文件中第一个被加载的server块(通常放在sites-available/default文件中)

方法二:修改默认配置文件

在Ubuntu/Debian系统中,Nginx通常会有一个默认的配置文件:

  1. 编辑默认配置文件:

    sudo nano /etc/nginx/sites-available/default
    
  2. 修改其中的server块配置,确保包含default_server参数

方法三:创建新的默认站点

  1. 创建新的配置文件:

    sudo nano /etc/nginx/sites-available/default-site
    
  2. 添加配置内容(同方法一)

  3. 创建符号链接到sites-enabled目录:

    sudo ln -s /etc/nginx/sites-available/default-site /etc/nginx/sites-enabled/
    
  4. 删除或禁用其他默认配置

验证和重载配置

配置完成后,执行以下操作:

  1. 测试Nginx配置是否正确:

    sudo nginx -t
    
  2. 重载Nginx使配置生效:

    sudo systemctl reload nginx
    

注意事项

  • 确保只有一个server块被标记为default_server
  • 默认站点通常用于返回404错误或显示维护页面
  • 在生产环境中,建议默认站点返回444状态码(Nginx特有的关闭连接状态)以防止恶意域名指向你的服务器: nginx server { listen 80 default_server; listen [::]:80 default_server; server_name _; return 444; }

希望这些信息对你有帮助!如果你需要针对特定场景的配置或有其他问题,请随时提问。