一聚教程网:一个值得你收藏的教程网站

热门教程

Nginx 中 Virtual Host 如何在测试环境中快速搭建多个本地开发站点

时间:2026-08-21 11:58:49 编辑:袖梨 来源:一聚教程网

快速搭建本地开发站点需配置Nginx虚拟主机并修改hosts文件:添加127.0.0.1映射自定义域名,为各站点创建独立.conf配置,指定server_name、root路径及index文件,执行nginx -t校验后reload生效,浏览器访问对应域名即可验证。

在测试环境快速搭建多个本地开发站点,核心是用基于域名的虚拟主机(server 块)配合本地 hosts 修改,不依赖公网 DNS 和 SSL,省去证书和端口暴露环节,几分钟就能跑起来。

准备两个关键前提

确保 Nginx 已安装并运行;确认你的操作系统能修改 hosts 文件(Linux/macOS 在 /etc/hosts,Windows 在 C:WindowsSystem32driversetchosts)。

往 hosts 里加几行,把自定义域名指向本地:

  1. 127.0.0.1 dev.site-a.local
  2. 127.0.0.1 dev.site-b.local
  3. 127.0.0.1 test.api.local

保存后无需重启网络,系统即可解析这些域名。

为每个站点建独立配置文件

推荐统一放在 /etc/nginx/conf.d/ 下,以 .conf 结尾,Nginx 默认会加载。比如:

  1. sudo nano /etc/nginx/conf.d/site-a.local.conf
  2. sudo nano /etc/nginx/conf.d/site-b.local.conf

内容精简实用,例如 site-a.local.conf:

server {listen 80;server_name dev.site-a.local;root /var/www/site-a;index index.html;location / {try_files $uri $uri/ =404;}}

注意:root 路径要提前创建好,并放一个 index.html 测试页,比如 echo "Site A" > /var/www/site-a/index.html

启用配置并验证

执行两步命令即可生效:

  1. sudo nginx -t —— 检查语法是否正确,报错就回头改配置
  2. sudo systemctl reload nginx —— 平滑重载,不中断现有连接

浏览器访问 http://dev.site-a.localhttp://dev.site-b.local,看到各自页面即成功。如果只显示默认欢迎页,检查 server_name 是否拼写一致、hosts 是否生效(可用 ping dev.site-a.local 验证)。

可选:加个兜底 server 防误访

新建一个 /etc/nginx/conf.d/default.conf,设为 default_server:

server {listen 80 default_server;return 444;# 静默关闭未匹配请求,更安全}

这样直接输 IP 或乱输域名就不会意外打开某个开发站,避免信息泄露或路径混淆。

热门栏目