这是一个非常常见的操作,但不仅仅是在云主机控制台里改一个设置那么简单,它涉及到DNS解析、Web服务器配置 和SSL证书 三个核心环节。
整个过程可以概括为以下流程图,帮助您理解全貌:
flowchart TD A[准备新域名与云主机] --> B subgraph B [主要操作步骤] direction LR B1[DNS解析<br>将新域名指向云主机IP] --> B2[Web服务器配置<br>添加新域名的站点配置] --> B3[SSL证书<br>申请并安装新证书] end B --> C{测试与验证} C -- 新域名访问成功 --> D[最终步骤:切流与清理] C -- 遇到问题 --> E[排查问题<br>检查解析、配置、防火墙等] D --> F[✅ 换域完成] E --> F
下面我将以最常见的Linux 云主机 + Nginx/Apache 为例,分步详细说明。
1、拥有一个新域名:确保您已经购买并拥有了想要更换的新域名。
2、获取云主机的公网IP地址:登录你的云服务商(如阿里云、腾讯云、AWS)的控制台,找到你的云主机实例,记录下它的公网IP地址。
3、远程连接到你的云主机:使用 SSH 工具(如 Terminal, PuTTY, Xshell)连接到你的云主机。
这一步是告诉全世界:“我的新域名,请指向我的那台云主机”。
1、 登录你的域名注册商或DNS服务商的管理后台(例如阿里云万网、DNSPod、Cloudflare等)。
2、 找到你的新域名的DNS解析管理页面。
3、 添加一条A 记录:
主机记录通常填@
(代表主域名,如example.com
) 或者www
(代表www.example.com
),根据你的需求添加。
记录类型选择A。
记录值填写你的云主机的公网IP地址。
TTL默认即可,通常为600秒(10分钟)或3600秒(1小时)。
生效时间:DNS解析全球生效需要时间,通常几分钟到几小时不等,在此期间,你可以通过修改本地 hosts 文件来提前测试。
第三步:配置 Web 服务器(以 Nginx 为例)
现在需要告诉你的云主机上的Web服务器:“如果有人用新域名访问,请把网站内容展示给他”。
假设你的网站代码放在/var/www/html
1、编辑 Nginx 配置文件:
通常配置文件在/etc/nginx/nginx.conf
或/etc/nginx/conf.d/
目录下,也可能在/etc/nginx/sites-available/
下,你需要修改或创建一个新的配置文件(如your-new-domain.conf
)。
sudo vim /etc/nginx/conf.d/your-new-domain.conf
2、写入新的服务器块配置:
server { # 监听80端口 listen 80; # 你的新域名 server_name your-new-domain.com www.your-new-domain.com; # 网站根目录 root /var/www/html; index index.html index.htm index.php; # 其他具体配置规则(如PHP处理、静态文件缓存等)应与旧配置保持一致 location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; } }
重要:将your-new-domain.com
替换为你的实际新域名,并将root
、index
和其他location
规则设置成和你原来网站一样的配置。
3、检查配置并重载Nginx:
测试配置文件语法是否正确
sudo nginx -t
如果显示syntax is ok
和test is successful
,则重载Nginx使其生效
sudo systemctl reload nginx
第四步:安装 SSL 证书(实现 HTTPS)
现在网站可以通过HTTP访问了,但为了安全,必须启用HTTPS。
推荐使用 Let‘s Encrypt 免费证书,通过certbot
工具自动安装。
1、安装 certbot:
# 对于 Ubuntu/Debian sudo apt update sudo apt install certbot python3-certbot-nginx # 对于 CentOS/RHEL sudo yum install epel-release sudo yum install certbot python3-certbot-nginx
2、自动获取并安装证书:
sudo certbot --nginx -d your-new-domain.com -d www.your-new-domain.com
跟随命令行提示操作(输入邮箱、同意协议等),certbot 会自动修改你的 Nginx 配置,将HTTP重定向到HTTPS,并处理好证书的自动续期。
1、在浏览器中直接访问你的新域名 (https://your-new-domain.com
),检查网站是否能正常打开,样式和功能是否正常。
2、检查是否自动跳转到HTTPS。
3、点击地址栏的小锁图标,检查SSL证书是否有效且签发给了正确的域名。
4、使用第三方工具(如 [https://ping.chinaz.com/](https://ping.chinaz.com/))检查各地DNS解析是否已生效到你的IP。
1、旧域名的处理:
废弃如果旧域名不再使用,可以在DNS管理后台删除它的A记录,并在Web服务器配置中删除或禁用对应的server
块。
重定向如果希望旧域名的流量全部跳转到新域名(对SEO友好),可以在旧域名的Nginx配置中添加301永久重定向:
server { listen 80; listen 443 ssl; # 如果旧域名也有SSL证书 server_name old-domain.com www.old-domain.com; return 301 https://your-new-domain.com$request_uri; }
2、更新应用程序配置:如果你的网站程序(如WordPress)在数据库里硬编码了旧域名,你需要登录网站后台或数据库,将站点的URL地址更新为新域名。
核心顺序DNS解析 -> Web服务器配置 -> SSL证书。
生效时间最不可控的是DNS生效时间,请耐心等待。
防火墙确保云主机安全组的80和443端口是开放的。
备份修改任何配置文件前,先备份!
云服务商备案如果你的云主机在中国大陆,并且新域名要指向它,必须完成工信部的ICP备案,否则域名会被云商拦截,无法访问。
按照以上步骤操作,你就可以顺利地将云主机的服务切换到新的域名上了。
文章摘自:https://idc.huochengrm.cn/zj/13647.html
评论
充碧蓉
回复将云主机服务切换到新域名涉及DNS解析、Web服务器配置和SSL证书设置,需准备新域名、云主机IP,通过域名注册商设置A记录,配置Web服务器并安装SSL证书,最后测试验证,确保一切正常。