在 Debian 系统中“更换域名”通常涉及 主机名(hostname) 和 DNS/域名解析 两部分。下面按常见场景给你一套完整操作说明。
hostnamectl
# 或
hostname
hostname -f
hostname:短主机名hostname -f:完整域名(FQDN)hostname 新主机名
⚠️ 仅当前会话有效,不推荐长期使用。
hostnamectl(推荐)sudo hostnamectl set-hostname 新主机名
示例:
sudo hostnamectl set-hostname server01
/etc/hostnamesudo nano /etc/hostname
内容改为:
新主机名
Debian 的“域名”主要通过
/etc/hosts实现。
/etc/hostssudo nano /etc/hosts
示例(假设域名是 example.com):
127.0.0.1 localhost
127.0.1.1 server01.example.com server01
或公网 IP:
192.168.1.10 server01.example.com server01
✅ 格式:
IP地址 FQDN 主机名
sudo nano /etc/resolv.conf
添加或修改:
search example.com
domain example.com
⚠️ 注意:
/etc/network/interfacessudo nano /etc/network/interfaces
示例:
auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
dns-domain example.com
dns-nameservers 8.8.8.8
重启网络:
sudo systemctl restart networking
hostname
hostname -f
dnsdomainname
期望输出:
server01
server01.example.com
example.com
如果你是 更换网站域名,还需要:
server_name old.com;
改为:
server_name new.com;
然后:
sudo nginx -t
sudo systemctl reload nginx
❌ hostname -f 显示 Unknown host
✅ /etc/hosts 中缺少 FQDN 映射
❌ 重启后域名失效
✅ 没修改 /etc/hostname 或 /etc/hosts
sudo hostnamectl set-hostname server01
sudo nano /etc/hosts
# 添加:
# 127.0.1.1 server01.example.com server01
如果你能说明 具体场景(服务器、桌面、Docker、网站、邮件服务器等),我可以给你更精确的配置方案。