温馨提示×

centos怎样绑定多个域名

小樊
33
2026-10-17 10:22:30
栏目: 云计算

在 CentOS 上“绑定多个域名”通常是指:让一台服务器(一个公网 IP)通过 Web 服务器(如 Nginx / Apache) 同时对外提供多个域名访问。下面按常见场景说明。


一、前提条件(必须)

  1. 域名已解析到服务器 IP

    • 在域名服务商处,把多个域名的 A 记录指向 CentOS 服务器公网 IP
    • 例如:
      a.com → 1.2.3.4
      b.com → 1.2.3.4
      
  2. 防火墙放行 80 / 443

    firewall-cmd --permanent --add-service=http
    firewall-cmd --permanent --add-service=https
    firewall-cmd --reload
    

二、使用 Nginx 绑定多个域名(推荐)

1. 安装 Nginx

yum install nginx -y
systemctl enable nginx
systemctl start nginx

2. 为每个域名创建配置

mkdir -p /usr/share/nginx/html/a.com
mkdir -p /usr/share/nginx/html/b.com

3. 配置域名(虚拟主机)

/etc/nginx/conf.d/a.com.conf

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

    root /usr/share/nginx/html/a.com;
    index index.html;

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

/etc/nginx/conf.d/b.com.conf

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

    root /usr/share/nginx/html/b.com;
    index index.html;
}

4. 测试并重启

nginx -t
systemctl restart nginx

✅ 现在访问 http://a.com 和 http://b.com 会进入不同目录。


三、使用 Apache 绑定多个域名

1. 安装 Apache

yum install httpd -y
systemctl enable httpd
systemctl start httpd

2. 创建站点目录

mkdir -p /var/www/a.com
mkdir -p /var/www/b.com

3. 配置虚拟主机

/etc/httpd/conf.d/a.com.conf

<VirtualHost *:80>
    ServerName a.com
    DocumentRoot /var/www/a.com
</VirtualHost>

/etc/httpd/conf.d/b.com.conf

<VirtualHost *:80>
    ServerName b.com
    DocumentRoot /var/www/b.com
</VirtualHost>

4. 重启 Apache

systemctl restart httpd

四、HTTPS(可选但强烈建议)

使用 Let’s Encrypt:

yum install certbot
certbot --nginx   # 或 certbot --apache

可自动为多个域名签发证书。


五、一个域名绑定多个子域名也可以

例如:

www.a.com
api.a.com

只需在 server_name 或 ServerName 中添加即可。


如果你能说明:

  • 用的是 Nginx 还是 Apache
  • 是否是 面板(如宝塔)
  • 是否要 HTTPS / 反向代理 / 多端口

我可以给你更精确的配置示例。

0 踩