温馨提示×

centos怎样配置多域名

小樊
37
2026-10-14 14:01:13
栏目: 云计算

在 CentOS 上配置“多域名”通常分几种常见场景,我先按**最常见的 Web 服务(Nginx / Apache)**给你讲,如果你是其他用途(邮件、反向代理、Docker 等)可以再告诉我。


一、前提条件

  1. 已安装 Web 服务(Nginx 或 Apache)
  2. 域名已解析到服务器公网 IP(A 记录)
  3. 有 root 或 sudo 权限

二、Nginx 配置多域名(推荐)

1. 安装 Nginx(如未安装)

sudo yum install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx

2. 创建网站目录

sudo mkdir -p /var/www/domain1.com
sudo mkdir -p /var/www/domain2.com

3. 创建虚拟主机配置

sudo vi /etc/nginx/conf.d/domain1.conf

domain1.conf

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

    root /var/www/domain1.com;
    index index.html;

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

同理创建 domain2.conf

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

    root /var/www/domain2.com;
    index index.html;
}

4. 测试并重载

sudo nginx -t
sudo systemctl reload nginx

三、Apache 配置多域名

1. 安装 Apache

sudo yum install httpd -y
sudo systemctl enable httpd
sudo systemctl start httpd

2. 创建虚拟主机

sudo vi /etc/httpd/conf.d/domain1.conf
<VirtualHost *:80>
    ServerName domain1.com
    DocumentRoot /var/www/domain1.com
</VirtualHost>

3. 重启 Apache

sudo systemctl restart httpd

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

使用 Let’s Encrypt:

sudo yum install certbot python2-certbot-nginx -y
sudo certbot --nginx -d domain1.com -d www.domain1.com

Apache:

sudo certbot --apache

五、常见问题

  • 80 端口被占用:检查是否有其他服务(如宝塔、Docker)
  • 域名不生效:确认 DNS 已生效(ping domain.com)
  • 防火墙:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

如果你能告诉我:

  • 用的是 Nginx 还是 Apache
  • 是 同一站点不同域名 还是 不同网站
  • 是否使用 Docker / 面板(如宝塔)

我可以直接给你一份可复制的配置。

0 踩