ubuntu域名如何修改
导读:Ubuntu 域名相关修改指南 在 Ubuntu 中,“修改域名”通常涉及三类操作:修改本机的主机名(hostname)、配置系统的DNS 解析、以及让公网通过域名访问你的服务器(注册商 DNS 与 Web 服务配置)。下面按场景给出可操作...
Ubuntu 域名相关修改指南
在 Ubuntu 中,“修改域名”通常涉及三类操作:修改本机的主机名(hostname)、配置系统的DNS 解析、以及让公网通过域名访问你的服务器(注册商 DNS 与 Web 服务配置)。下面按场景给出可操作步骤与要点。
修改主机名
- 使用命令即时设置并持久化:
- 执行:
sudo hostnamectl set-hostname your.domain.local(将 your.domain.local 替换为你的域名;一般建议域名包含至少一个点,如 example.com)。 - 检查:
hostnamectl status。
- 执行:
- 同步更新本机解析映射:
- 编辑:
sudo nano /etc/hosts - 将旧主机名替换为新的域名,例如:
127.0.0.1 localhost 127.0.1.1 your.domain.local
- 编辑:
- 使变更在当前会话立即生效(可选):
exec bash - 说明:桌面环境或某些云镜像可能自动管理主机名,修改后重启可确保一致性。
配置 DNS 解析
- 使用 systemd-resolved(Ubuntu 18.04 及之后常见)
- 编辑:
sudo nano /etc/systemd/resolved.conf - 在 [Resolve] 段设置:
DNS=8.8.8.8 1.1.1.1(示例公共 DNS) - 应用:
sudo systemctl restart systemd-resolved & & sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf - 验证:
resolvectl status、cat /etc/resolv.conf
- 编辑:
- 使用 Netplan(若系统存在 /etc/netplan/*.yaml)
- 编辑:
sudo nano /etc/netplan/50-cloud-init.yaml(文件名可能不同) - 在相应网络接口下添加:
nameservers: { addresses: [8.8.8.8, 1.1.1.1] } - 应用:
sudo netplan apply
- 编辑:
- 使用 resolvconf(较老系统或未使用 systemd-resolved)
- 安装(如未安装):
sudo apt install resolvconf - 写入 DNS:
echo "nameserver 8.8.8.8" | sudo tee /etc/resolvconf/resolvconf.d/base - 更新:
sudo resolvconf -u
- 安装(如未安装):
- 临时修改(重启后失效)
- 直接编辑:
sudo nano /etc/resolv.conf,添加nameserver 8.8.8.8 - 注意:很多系统会自动覆盖此文件,仅用于临时测试。
- 直接编辑:
- 验证解析:
dig example.com +short、nslookup example.com。
让公网通过域名访问你的服务器
- 在域名注册商或 DNS 服务商处添加记录
- 常见记录:
- A 记录:将 @ 或 www 指向你的服务器公网 IP
- 示例:主机记录 @,类型 A,值 203.0.113.10
- 保存后等待 DNS 传播(通常几分钟到数小时,极端情况可达 24 小时)。
- 常见记录:
- 配置 Web 服务器(以 Nginx 为例)
- 新建配置:
sudo nano /etc/nginx/sites-available/example.com - 示例:
server { listen 80; server_name example.com www.example.com; root /var/www/example; index index.html; } - 启用并重启:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/sudo nginx -t & & sudo systemctl restart nginx
- 新建配置:
- 防火墙放行(如启用 UFW)
sudo ufw allow 'Nginx Full'
- 可选:配置 HTTPS(Let’s Encrypt)
sudo apt install certbot python3-certbot-nginxsudo certbot --nginx -d example.com -d www.example.com
- 验证:浏览器访问 http://example.com 或 https://example.com。
常见问题与排查
- 修改 /etc/resolv.conf 后重启失效
- 原因:文件由 systemd-resolved 或 resolvconf 动态生成。请改用对应的持久化方式(上文三种 DNS 配置其一)。
- DNS 变更未生效
- 检查记录是否正确、是否已传播(可用
dig +trace example.com观察解析链路),并留意 TTL 与本地/运营商缓存。
- 检查记录是否正确、是否已传播(可用
- 本机 ping 域名不通但 IP 可通
- 检查
/etc/hosts是否包含错误映射,或resolvectl status是否使用了预期的 DNS。
- 检查
- Web 访问 502/404
- 核对 Nginx/Apache 的 server_name 与站点根目录,执行
sudo nginx -t检查语法并重载服务。
- 核对 Nginx/Apache 的 server_name 与站点根目录,执行
- 需要本地离线解析某域名
- 在
/etc/hosts添加IP 域名的映射,优先级高于 DNS。
- 在
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu域名如何修改
本文地址: https://pptw.com/jishu/779876.html
