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虛擬主機配置并重啟服務。