1. 准备工作
在Debian系统上管理子域名前,需完成两项基础准备:一是拥有域名所有权(需在域名注册商处购买并持有该域名);二是获取服务器公网IP(子域名需指向服务器的公网IP才能被访问)。
2. 配置DNS解析(关键步骤)
子域名的解析需通过DNS记录实现,常见记录类型及配置方法如下:
blog.example.com
指向192.168.1.100
,需在域名注册商的DNS管理面板中添加:主机记录blog
、记录类型A
、记录值192.168.1.100
。www.example.com
指向example.com
,需添加:主机记录www
、记录类型CNAME
、记录值example.com
。sub.example.com
的NS记录指向ns1.example.com
,并配合A记录解析ns1.example.com
到DNS服务器IP。3. Web服务器配置(以Nginx/Apache为例)
配置DNS解析后,需在Web服务器中创建对应的虚拟主机,以响应子域名的请求:
/etc/nginx/sites-available/
目录下创建子域名配置文件(如blog.example.com.conf
),内容示例如下:server {
listen 80;
server_name blog.example.com; # 子域名
root /var/www/blog.example.com; # 子域名网站根目录
index index.html index.htm;
location / {
try_files $uri $uri/ =404; # 处理请求
}
}
创建符号链接到sites-enabled
目录并重启Nginx:sudo ln -s /etc/nginx/sites-available/blog.example.com.conf /etc/nginx/sites-enabled/
sudo systemctl restart nginx
/etc/apache2/sites-available/
目录下创建配置文件(如blog.example.com.conf
),内容示例如下:<VirtualHost *:80>
ServerName blog.example.com # 子域名
DocumentRoot /var/www/blog.example.com # 子域名网站根目录
<Directory /var/www/blog.example.com>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
启用站点并重启Apache:sudo a2ensite blog.example.com.conf
sudo systemctl restart apache2
4. 验证配置
nslookup
或dig
命令检查子域名是否解析到正确IP。例如:nslookup blog.example.com
若返回的IP与服务器公网IP一致,则解析成功。http://blog.example.com
),若能正常显示网站内容,则配置生效。5. 可选:使用脚本或自动化工具简化管理
若需频繁添加子域名,可编写Shell脚本或使用自动化工具(如Ansible、Puppet)批量生成DNS记录和Web服务器配置,减少手动操作。例如,编写Shell脚本自动添加Nginx虚拟主机配置并重启服务。