不去在乎结果,热情地付出过,就好了.

博客迁移并增加CDN

本文技术要点概览:宝塔面板,CloudFlare CDN,NS记录,PHP版本升级,虚拟目录。

前几篇文章刚把博客从阿里云签到祖传搬瓦工,那时候是因为要备案还老审核,烦得很,只好迁到仅有的128M内存、1M带宽搬瓦工祖传OVZ VPS上。后来因为人类固有的好奇心和求知欲,又购置了几个512M内存的搬瓦工VPS,一个KVM架构一个OVZ架构,舒爽地用了几天,然而party开party其中有一个OVZ VPS不幸凉了,8美刀换过一次IP过几天又凉了,只好扔在一边。偶然得知通过CDN加速可以把已经凉了的VPS利用起来建站,又想到博客放在128小鸡上确实憋屈,可以迁过来,把128小鸡专用于上网。

先在OVZ 512小鸡上装了宝塔面板,毕竟懒人,不一个一个搞了,宝塔面板功能很全,快速部署和管理VPS很方便。当然这个时候因为凉了,是不能直接连上的,从另一个KVM的512小鸡跳转连过来的。博客在128小鸡上平稳运行先不急着迁,先在OVZ 512小鸡上用宝塔面板装一个WordPress试一下CDN好不好使。

CDN有很多,不过有些需要备案,有些收费,其中CloudFlare免费功能已经够用了,就用这家。注册登进去就让添加被CDN的域名,全英文界面没细看我也是一脸懵。我的域名在Namesilo注册,NS服务器指定为DNSPod,然后在DNSPod中添加域名解析记录,一直没想通在CloudFlare里面加了域名他怎么就生效了。后来仔细一看还要把NS记录改成CloudFlare?那我这些域名全到国外解析不会很慢哦。后来仔细看了一下NS记录,原来可以把特定三级域名的NS指定到其他运营商,于是把三级域名blog的NS记录改为CloudFlare的NS,仅把blog用CloudFlare解析用于CDN。CloudFlare会把网页内容进行缓存,缓存到自己的服务器上,然后把域名也解析到自己的服务器上,加速访问,这样用户不用直接访问我的512小鸡,即使小鸡凉了也不要紧。

这样先搞了一个测试域名成功了,然后把文件服务数据库从128小鸡上导出来,scp到512小鸡上放好导入好,建好虚拟主机再把域名解析改过来,这时候本该万事大吉,结果却错了,博客主页都挂掉了,报错内容为:

Parse error: syntax error, unexpected 'new' (T_NEW) in
C:\xampp\htdocs\titaniumcobra\wp-content\plugins\exec-php\exec-php.php on line 22

然后打开这个文件,找到这行代码:

$GLOBALS['g_execphp_manager'] =& new ExecPhp_Manager();

这一看就是Exec-PHP这个插件的问题,博客中使用了这个插件在文章里面和侧边栏显示一些统计信息。赶紧进FTP那插件目录给重命名了,相当于移除插件,但是迁移过来并没有些改什么东西为什么就不能运行了呢。查了一下,这款插件上次更新已经是8年前了,目前插件页面已关闭下载安装,很多人在底下评论更新到PHP7以后插件出现问题。原来一些以前的在PHP4或PHP5上能用的语法在PHP7上已经废弃了,在128小鸡上,因为硬件配置比较低,安装的PHP和MySQL都是低版本,迁过来以后配置高了,直接装的高版本,没想到还出现兼容性问题。其实自己修改一下就行了,将上述代码改为如下,删除”&”符号即可恢复。

$GLOBALS['g_execphp_manager'] = new ExecPhp_Manager();

然后将插件目录名字改回来,提示其他地方还有错误,与上面类似都改完就能正常访问了,但是安全起见还是寻找其他仍在维护的PHP执行插件比较好。

EOF

再次以为万事大吉,首页打开都是好的,这篇文章都看得见,结果一进详情页出现404了,把固定链接改成朴素型的就能正常访问,看来是Nginx的Rewrite重定向有问题了,在宝塔面板里面好像叫伪静态来着。好在这些都是前人采购的坑,宝塔面板自带WordPress用的Rewrite规则文件,把内容复制到对应站点的Nginx设置里面就行了。

不禁感叹,现在做个站真的容易,基本上什么都已经弄好了,直接在图形界面操作就行了。

Real – EOF –

打赏

Add comment

5 × 3 =

不去在乎结果,热情地付出过,就好了.
某一天,你所坚持的,和承担过的一切,会有回应。它们并非失去踪迹,只是需要时间抵达。这和星光落入眼睛里,是一样的道理。

近期文章

近期评论