文章目录
前言
很久没更新,考完试后这段时间一直在忙IELTS的学习,在抽空期间写了这篇记录,记录我博客从虚拟主机迁移到新的VPS上,并且配置CDN等设置。
迁移准备
配置展示
首先迁移肯定不能在服务器到期后再迁移,不然万一出错了容易翻车。
我原来的域名DNS管理商用的注册商的,这次为了方便就转移到了DNSPOD上。
新主机选取了A400互联的香港服务器,主要是因为当时他家在做活动,而且价格不错,性价比高就入手了。
给大家看看迁移后服务器配置:
- Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz 1 核心
- 2G 内存
- 20G SSD
- 5MB 带宽
- 服务器位置:香港
虽然带宽有点小,但对于一个小博客来说已经够用了,我的静态资源使用的是外链,不用担心太多带宽问题。
如果有小伙伴还在寻找博客或小型网站服务器的,可以试试A400互联,每逢假日都有活动,建议活动入手,当然非活动的时候最低配置(1核1G内存)仅需¥24.00元/月,具体请点击进入购买页面。
对于服务器地区的选择,我们知道服务器位置会影响访问速度。如果你有备案,建议还是去买大厂的例如腾讯云、阿里云等的内地地区。如果像我一样没有备案,那就只能选取境外地区。香港、新加坡和日本地区的服务器距离大陆比较近,访问速度也比较优秀,如果客户大多来自中国可以考虑这些地区;美国以及欧洲地区的相对较远但价格会比前面的便宜挺多,如果线路优秀也可以选择。
个人建议是:境外地区的博客等需要消耗带宽不多的网站,可以选择香港小带宽的路线(BGP、CN2),来保证速度。若需要一定的带宽,建议选择美国的优秀线路(CN2、9929)。
备份
我没有使用一些WordPress备份插件进行备份,而是直接打包了原服务器中所有WordPress目录的文件,并且手动备份了数据库。
如下图例子(非本站服务器),导出WordPress对应的数据库。
同时还要记得备份好自己的SSL证书,迁移后也需要重新部署SSL证书。
更改DNS解析
我们的迁移一般是暂停之前的解析(非删除),然后添加一条新的解析。这样要保证之前的服务器数据正常,出错时可以快速解析回去避免损失。
例如在dnspod里添加一条指向新服务器的解析:
文件转移
网站创建
接下来就是简单的文件和数据库转移过程,新的服务器使用了宝塔控制面板,于是就在宝塔中添加网站,填写域名,并且创建数据库。例如:
接下来就是在文件-指定目录中上传备份的压缩文件,然后在线解压到网站根目录即可。
修改数据库配置
因为数据库发生了变化,我们需要进行一些配置信息的修改。在WordPress根目录下找到wp-config.php文件,双击进入在线编辑模式。找到MySQL settings的那个区域,修改如下内容为刚才创建网站时的数据库:
其中DB_NAME字段为数据库名,DB_USER是数据库用户名,DB_PASSWORD是数据库密码,DB_HOST是数据库主机,因为我们是在同一台服务器上的数据库,那就填写本机位置localhost或127.0.0.1即可。当然如果是远程数据库就填写远程地址。退出编辑记得保存。
如果这些信息在刚才创建网站的时候不记得了,那就找到左侧栏的数据库,里面有你的数据库信息,复制进来即可。
接下来通过数据库页面,可以登录到数据库管理系统phpmyadmin里面,选择导入即可:
接下来是比较重要的一步,就是更新博客域名(非域名更换者跳过)。 如果像我一样使用了子域名来搬家的情况,或者是需要更换域名时,我们要在数据库里更新一些表项。我们可以点击SQL,执行如下命令进行更换域名:
UPDATE wp_options
SET option_value = 'https://test.hoyue.fun'
WHERE option_name = 'siteurl' OR option_name = 'home';
这里option_value
的值,替换成你的域名。当然如果有时候你更改过你数据库的表名前缀的,需要把表名wp_options
更改为你的表名。
当然,如果SQL出现了问题,你也可以手动找到表wp_options
,然后进去后对应位置逐个修改。
配置调整
设置伪静态
原来你的WordPress应该设置有伪静态,在新的服务器也需要重新设置一次。回到网站-设置,找到伪静态,预设里选择WordPress即可。
当然如果你没使用宝塔面板,你也可以手动添加。这里是一些常用的伪静态配置。
NGINX:
location /
{
try_files $uri $uri/ /index.php?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
Apache:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
SSL配置
我们需要重新配置我们的SSL,宝塔面板可以在设置里一键配置。把我们的证书从之前的服务器中取出来,填到这里保存即可。
当然如果你没有证书,也可以选择Let's Encrypt在线帮忙部署。
接下来就可以进入WordPress后台看看,配置是否正常。
文章链接更新(optional)
如果你更换了域名,那么文章中的一些域名也应该随之一起更新,我们可以使用插件velvet-blues-update-urls,可以快速更换你的域名,或者重新进入phpmyadmin,执行如下SQL命令:
UPDATE wp_posts
SET post_content = REPLACE(post_content, '旧域名' , '新域名');
UPDATE wp_posts
SET guid = REPLACE(guid, '旧域名' ,'新域名');
打开网站,按照以上步骤做了一般就完好的搬家成功了。
进阶设置
设置智能解析CDN
因为带宽过小,为了解决访问速度问题,我想到了使用智能解析的DNS,即通过DNSPOD的智能解析,让中国大陆走直连香港服务器,其他地区走cloudflare CDN。
但是如何走cloudflare服务器呢,因为使用了dnspod的智能解析,我们不能直接把域名托管到cloudflare上。这里通过Cloudflare for SaaS,使用CNAME接入CDN。
Cloudflare for SaaS的收费策略,每个账户可以有100个域名免费额度。我们就使用免费额度就行了。
前提条件:
- 需要有一个已经通过NS接入CF的域名,只用作设置回退源服务器,不对外显示,所以没有什么要求。你可以使用类似eu.org的域名接入即可。
- 开通 Cloudflare for SaaS 服务,需要CF账户绑定银行卡。可能需要一些境外信用卡,但是好的是可以支持PayPal认证,一般我们只需要在PayPal中绑定我们的卡,在CF上验证即可。
首先打开cloudflare,选中一个已经托管在cloudflare上的域名,打开DNS,添加一个回退源的记录,指向你的目标服务器,名称随便你,我这里以back为例。
接下来,面板进入SSL/TLS——自定义主机名,第一次进入这里会出现验证卡的页面,等待一会右上角会出现PayPal,选择PayPal随后验证就好了,这一步还是比较快的。
验证好了以后,在回退源处填写刚才添加的回退源地址:
等待一会,点击刷新,显示有效即成功。
点击上方“添加自定义主机名”,进入添加页面,自定义主机名框里填写要接入CDN的域名,因为我的博客域名是test.hoyue.fun,我们如下添加,其他设置保持默认,如图。
添加成功后,出现如下界面,需要前往添加域名的域名服务商那里设置,添加上2条TXT类型的解析,一条是证书验证,一条是主机名验证。(图片与上文非同个域名)
我们返回dnspod中,为它添加这些解析。
最后,我们在dnspod中进行智能分流,境内的指向境内服务器,境外指向cdn,如图:
你可以尝试进行一些ping测试,就可以发现,境外地区走了CDN,而境内地区走了境内服务器,如下图,IP检测到了CF的anycast IP:
常见错误
请注意:请做好备份再进行迁移!
除此之外,还可能有如下问题:
- 数据库连接错误:在新服务器上安装WordPress后,如果您的网站出现“错误建立数据库连接”的错误,可能是因为数据库连接信息不正确。您可以在wp-config.php文件中修改数据库主机名、数据库名、用户名和密码等信息,并确保这些信息与新服务器上的数据库匹配。
- 文件权限问题:在新服务器上安装WordPress后,您可能会遇到文件权限问题,导致无法上传媒体文件、安装插件等。您可以通过在FTP客户端中设置文件和文件夹的权限来解决此问题,通常将文件权限设置为755,文件夹权限设置为644即可。
- 图片路径问题:在更换服务器后,您的WordPress网站上的图片可能无法显示,这可能是因为图片路径不正确。您可以在WordPress后台中的“设置 -> 媒体”中检查媒体文件上传路径是否正确,并确保路径与新服务器上的路径匹配。
- 插件和主题兼容性问题:在新服务器上安装WordPress后,您的插件和主题可能无法正常工作,这可能是因为它们与新服务器的设置不兼容。您可以通过更新插件和主题,或者使用兼容性更好的插件和主题来解决此问题。
- SSL证书问题:如果您的WordPress网站使用SSL证书进行加密连接,在更换服务器后,您需要在新服务器上重新安装SSL证书,并确保WordPress网站使用的是正确的证书。
- DNS解析问题:在更换服务器后,您可能需要更新DNS记录,以便将域名指向新服务器的IP地址。请确保更新DNS记录后等待一段时间,以便DNS记录生效。
如果还有其他问题,也欢迎在评论区讨论。
后记
其实迁移的过程非常简单,并没有多少难点,更重要的是细心和耐心。当然也不要忘记做好备份,翻车也不怕哈哈。
Comments 1 条评论
博主 chatseeon
好耶O(≧▽≦)O 下次搬家就参考这个了