温馨提示×

centos怎样配置子域名

小樊
39
2026-10-20 07:59:32
栏目: 云计算

在 CentOS 上配置子域名,通常分为 DNS 解析配置 和 Web 服务(如 Nginx / Apache)配置 两部分。下面以常见场景为例说明。


一、DNS 解析配置(最重要)

假设:

  • 主域名:example.com
  • 子域名:blog.example.com
  • 服务器 IP:1.2.3.4

1. 域名解析(在域名服务商处)

在你的域名解析控制台添加一条记录:

类型 主机记录 记录值
A blog 1.2.3.4

如果是 IPv6,用 AAAA 记录。

✅ 等待 DNS 生效(通常几分钟到几十分钟)


二、CentOS 服务器配置

方式一:使用 Nginx(推荐)

1. 安装 Nginx

yum install nginx -y
systemctl enable nginx
systemctl start nginx

2. 创建子域名目录

mkdir -p /var/www/blog
echo "blog.example.com" > /var/www/blog/index.html

3. 创建 Nginx 子域名配置文件

vi /etc/nginx/conf.d/blog.conf

内容示例:

server {
    listen 80;
    server_name blog.example.com;

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

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

4. 测试并重启 Nginx

nginx -t
systemctl restart nginx

方式二:使用 Apache

1. 安装 Apache

yum install httpd -y
systemctl enable httpd
systemctl start httpd

2. 创建子域名目录

mkdir -p /var/www/blog
echo "blog.example.com" > /var/www/blog/index.html

3. 创建虚拟主机

vi /etc/httpd/conf.d/blog.conf

内容:

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

    <Directory /var/www/blog>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

4. 重启 Apache

systemctl restart httpd

三、防火墙配置(CentOS 7+)

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

如果是 HTTPS:

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

四、HTTPS(可选,推荐)

使用 Let’s Encrypt:

yum install certbot python2-certbot-nginx -y
certbot --nginx -d blog.example.com

五、本地测试(可选)

curl http://blog.example.com

或本地 hosts 测试:

vi /etc/hosts
1.2.3.4 blog.example.com

如果你能告诉我:

  • 使用的是 Nginx 还是 Apache
  • 是否是 本地服务器 / 云服务器
  • 是否需要 HTTPS / 泛域名

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

0 踩