在 Linux 下使用 Nginx 实现“一台服务器部署多个网站/域名”的场景非常常见,适合部署个人博客、企业官网、多站点系统等。


🌐 一台服务器使用 Nginx 支持多个域名部署指南(Linux 环境)

你提到关键词 “babyblue”,我将以 babyblue.com 和 another.com 两个域名为例讲解,假设你已经拥有两个域名并解析到了服务器 IP。


✅ 一、前提条件

  1. Linux 服务器一台(如 Ubuntu 20.04 / CentOS)
  2. 安装好了 Nginx(nginx -v 检查版本)
  3. DNS 已将域名解析到服务器公网 IP
  4. 有不同网站代码目录(例如 /var/www/babyblue.com 和 /var/www/another.com

✅ 二、配置文件结构说明

Nginx 配置文件通常位于:

/etc/nginx/nginx.conf              # 主配置文件
/etc/nginx/sites-available/       # 可用站点配置(Ubuntu/Debian)
/etc/nginx/sites-enabled/         # 启用站点(软链接)

如果是 CentOS,配置通常放在 /etc/nginx/conf.d/*.conf


✅ 三、创建两个站点的配置文件

示例:配置 babyblue.com

路径/etc/nginx/sites-available/babyblue.com

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

    root /var/www/babyblue.com;
    index index.html index.htm;

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

示例:配置 another.com

路径/etc/nginx/sites-available/another.com

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

    root /var/www/another.com;
    index index.html index.htm;

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

✅ 四、启用站点配置(仅 Ubuntu/Debian)

sudo ln -s /etc/nginx/sites-available/babyblue.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/another.com /etc/nginx/sites-enabled/

CentOS 直接放到 /etc/nginx/conf.d/ 目录即可。


✅ 五、检查配置并重启 Nginx

sudo nginx -t       # 检查配置是否正确
sudo systemctl reload nginx  # 重载配置(不重启进程)

✅ 六、访问测试

分别打开:

它们应该各自显示自己站点的内容。


✅ 七、HTTPS 配置(可选)

推荐使用 Let’s Encrypt + Certbot 免费配置 HTTPS。

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d babyblue.com -d www.babyblue.com
sudo certbot --nginx -d another.com -d www.another.com

Certbot 会自动修改 Nginx 配置并续签证书。


✅ 八、目录建议结构

/var/www/
├── babyblue.com/
│   └── index.html
└── another.com/
    └── index.html

✅ 九、常见问题排查

问题排查建议
浏览器打不开网站检查域名是否解析、端口是否开放(80/443)
多域名都跳到同一个站点可能只启用了一个配置,或写错了 server_name
HTTPS 报错/证书无效检查证书是否成功签发,重启 nginx

需要我提供完整配置脚本一键部署多个站点吗?或者为 babyblue.com 配一份 HTTPS + Nginx 完整配置也可以。是否继续?