服务器迁移:趁到期前,把博客搬到一个更安心的地方

最近的时间把博客的服务器进行迁移。

其实这件事本来不在计划里。原来的服务器还有一两个月才到期,平时访问速度也还算稳定,博客内容不多,流量也不大,按理说可以继续用下去。但之前遇到过一次比较糟心的事情:机房那边被攻击,后面还牵扯到勒索事件,最终导致服务器上的数据丢失。

虽然博客只是一个个人网站,不是什么大型项目,但里面毕竟有自己写过的文章、折腾过的配置、上传过的图片,还有一些零零散散的记录。真正丢过一次数据之后,才会意识到“备份”和“安全”这两个词不是写在教程里好看的,而是真的会影响心情。

所以这次趁着服务器快到期,我干脆重新换了一台服务器,我也顺便把我博客搭建的流程记录一下。

为什么要换服务器

最直接的原因是:旧服务器准备到期了。

如果只是单纯到期,其实续费也可以。但考虑到之前机房发生过攻击和数据丢失的情况,我对原来的机房多少有点不放心。服务器这种东西,平时没问题的时候你几乎感觉不到它的存在,但一旦出问题,恢复起来就非常麻烦。

尤其是个人博客,很多时候没有非常规范的运维流程。可能今天想起来备份一下,明天就忘了;可能数据库有备份,但网站程序文件没备份;

迁移前先做备份

服务器迁移第一件事,不是买新服务器,也不是装环境,而是先备份。

我这次主要备份了几类内容:

网站程序文件,也就是博客所在目录里的主题、插件、上传图片等内容;
数据库文件,文章、评论、分类、设置基本都在里面;
Nginx 的站点配置;
SSL 证书相关文件;
还有一些自己以前手动改过的小配置。

WordPress博客程序,最核心的其实就是“网站目录 + 数据库”。只要这两部分完整,博客基本就能恢复。

不过我个人建议,不要只依赖服务器面板里的“一键备份”。一键备份当然方便,但最好还是把备份文件下载到本地,或者同步到对象存储、网盘、另一台服务器上。因为如果服务器本身出问题,备份还放在同一台机器上,那等于没有备份。

这也是我之前踩过坑之后才真正记住的事情。

新服务器的选择

这次换服务器,我换了一台香港 CN2服务器。

个人博客一般不需要特别夸张的性能,除非网站流量很大,或者跑了很多额外服务。正常来说,1 核 1G、1 核 2G 或者 2 核 2G 这类配置,用来放一个轻量博客已经够用了。我新服务器的配置上8核8G,因为这台服务器不单单搭建这一个博客网站,我还在这台服务器搭建了其他服务程序,所以配置稍微高点。

简单记录一下博客搭建流程

这次迁移也顺便把博客搭建流程重新走了一遍。整体并不复杂,大致可以分成几个步骤。

1. 初始化服务器系统

新服务器开通之后,第一步是选择系统。

我个人比较习惯用 Ubuntu 系统,软件源比较方便,资料也多。

系统装好之后,先做一些基础设置,比如更新软件包、修改 SSH 端口、关闭不必要的服务、设置防火墙规则等。虽然个人博客不是高危目标,但基础安全还是要做一下。

至少不要把所有端口都暴露在公网,也不要使用太简单的密码。

2. 安装网站运行环境

博客程序一般需要 Web 服务、数据库和运行语言环境。

常见组合有:

Nginx + PHP + MySQL
Apache + PHP + MySQL
或者直接用 Docker 部署

如果想省事,也可以使用服务器面板,比如宝塔面板之类的工具。面板的好处是操作直观,建站、数据库、SSL、备份都比较方便,适合不想一直敲命令的人。

当然,面板也要注意安全,安装后及时修改默认端口、设置复杂密码、开启必要的安全限制。

目前使用的是 1panel 面板,虽然资源占用会大一点,但是界面更加简洁、直观,操作起来更简单趁手一些,也挺适合小白使用的。

3. 上传博客程序文件

环境装好之后,把旧服务器备份下来的网站文件上传到新服务器。

上传完成后,需要注意文件权限。博客程序要求上传目录可写,比如 WordPress 的 wp-content/uploads目录等。如果权限不对,可能会出现无法上传图片、主题无法保存设置之类的问题。

4. 导入数据库

接下来是数据库部分。

先在新服务器创建一个数据库和对应用户,然后把旧服务器导出的 SQL 文件导入进去。导入完成后,再修改博客配置文件里的数据库地址、数据库名、用户名和密码。

这一步很关键。如果数据库连接信息写错,网站基本就是打不开,或者直接提示数据库连接失败。

迁移博客时,最常见的问题也基本集中在这里:数据库编码不一致、导入不完整、配置文件忘记改、数据库权限不够等。

5. 配置域名和站点

网站文件和数据库都准备好之后,就可以配置 Nginx 站点了。

主要是设置域名、网站根目录、PHP 解析、伪静态规则等。如果博客使用了固定链接,伪静态规则一定要配置正确,否则首页能打开,文章页可能会 404。

配置完成后,可以先通过服务器 IP 或临时域名测试一下,确认后台能登录、文章能打开、图片能正常显示。

等确认没问题之后,再去域名解析后台,把域名的 A 记录指向新服务器 IP。

6. 申请 SSL 证书

现在博客基本都会开启 HTTPS。

域名解析生效后,可以申请 SSL 证书。很多面板都支持 Let’s Encrypt 免费证书,配置起来比较简单。手动配置也不复杂,但要注意证书续期问题。

HTTPS 配好之后,最好检查一下网站后台地址、图片地址、文章里的旧链接有没有混用 HTTP 的情况。不然浏览器可能会提示“不安全内容”。

7. 做最后检查

迁移完成后,我一般会检查这些地方:

首页是否正常打开;
文章页是否正常打开;
图片是否加载完整;
后台是否能登录;
评论、搜索、分类页是否正常;
网站地图是否可访问;
SSL 证书是否正常;
服务器负载是否稳定。

确认这些没问题之后,旧服务器就可以先保留几天,不要马上释放。因为 DNS 解析有缓存,不同地区生效时间可能不一样。保留几天旧服务器,万一发现漏了什么文件,也还能补救。

这次迁移后的一个教训

这次迁移本身不算复杂,真正让我有感触的还是备份。

以前总觉得个人博客没什么大不了,丢了也就丢了。但真到数据没了的时候,才发现很多内容不是重新写一遍那么简单。文章可以重写,但当时的想法、截图、评论、配置过程,很难完整恢复。

所以迁移完之后,我给新服务器重新设置了定期备份。

现在的计划是:

数据库定期自动备份;
网站目录定期打包;
备份文件同步到服务器之外的地方;
重要更新前手动创建快照。

不一定多专业,但至少比以前“想起来才备份”靠谱很多。

总结

服务器迁移这件事,说大不大,说小也不小。

对个人博客来说,它不像公司项目那样需要复杂的迁移方案,但也不能完全随便处理。尤其是经历过数据丢失之后,真的会更在意服务器稳定性和备份策略。

这次换服务器,一方面是因为旧服务器即将到期,另一方面也是想给博客换一个更安心的环境。顺便重新整理了一遍从服务器初始化、安装环境、上传程序、导入数据库、绑定域名到配置 SSL 的流程。

博客搭建并不难,难的是长期维护。
服务器可以换,系统可以重装,但内容最好不要再丢了。

若有与我博客搭建相关的问题,或其他想法和建议,欢迎在评论区留言,我们一起学习一起进步。

一条评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注