跳到内容

文章类别:编程

博客迁移并增加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 –

添加博客页面滚动条样式

#适用于Webkit内核的浏览器,如Chrome以及各种国产XXX极速浏览器

#可以通过浏览器扩展实现所有网页滚动条修改(请看文章最后)

之前发过一篇文章:webkit scrollbar 自定义滚动条

后来博客搞过很多次迁移改主题之类的事情,当时修改的样式丢失了,今天不经意看到就恢复过来。

添加在wordpress的主题的自定义CSS文件即可,代码如下:

::-webkit-scrollbar {
    height: 10px;
    width: 10px;
}

::-webkit-scrollbar-thumb {
    -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
    background: rgba(10,100,200,0.8);
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
    background: rgba(200,100,10,0.8);
    border-radius: 5px;
}

::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
    background: rgba(0,0,0,0.2);
    border-radius: 5px;
}

a:visited { //访问过的链接变浅色,酌情添加
    color: #B5B5B5 ;
}

关于Chrome的全局修改方法,需要安装扩展Stylebot(或同类其他扩展),在该扩展的设置页面按如下操作:

在Styles页面,点击Add a new style…

20160318181035

在弹出的窗口中,上方的空输入两个星号,下方的空填入上面的代码

20160318181110

保存后刷新页面显示。

EOF

配置Genymontion虚拟机,VirtualBox和Hyper-V共存

官方SDK里面的AVD虚拟机效率不行,运行起来太慢,网上看到Genymontion模拟器貌似不错。

是可以免费使用的,点击Buy,拉到最下面小字免费下载(点此直接到达)。

然后趁下载的空注册个账号,不注册不能配置虚拟机(点此直接到达)。

20160122121440 微信截图_20160122122103

安装好点ADD添加虚拟机,选完型号之后需要下载一些文件,大概一二百兆,这个时候如果不出意外会报下图的错,这是中国网络的问题,不能说得太细,在下图配置一下就好了,请自行解决,然后就可以正常下载了。

报错内容:

Unable to create virtual device.

Server returned HTTP status code 0

20160122122910 20160122123626 20160122123025

建好虚拟机先运行一下看看,报错了,可以看出用的是VirtualBox,让我到VB里面去运行一下。打开VB,点启动,看下错误,提示VT-x不可用,这时候需要大家确认一下CPU是否支持VT,以及是否在主板中打开了VT支持。如果确定CPU是支持的,也在BIOS中打开了VT选项,依然这样提示,这时就要看一下系统中是不是启用了Hyper-V。Hyper-V是微软的一种虚拟机服务,会独占VT-x,这样VB就用不了了。 阅读更多 »

minSdkVersion、maxSdkVersion、targetSdkVersion、target的区别

20160112204936在AndroidManifest.xml中:

minSdkVersion:

即在建立项目时的MiniMum Required SDK,系统API低于该属性声明的API等级,则应用不能安装。因为高API等级的系统可以运行低API等级的应用,反之却不行,所以此属性的值应该是应用中所使用的所有API接口中的最高等级。

20160112205650maxSdkVersion:

高于该属性声明的API等级,则应用不能安装,一般不设置。

targetSdkVersion:

即在建立项目时的Target SDK,告知系统此应用是以该属性声明的API等级为目标编译的,系统可以不进行兼容性检查。该属性只起到告知的作用,实际的兼容性问题需要开发者自己处理。

20160112204951在project.properties中:

target:

即在建立项目时的Compile With,该应用在编译时实际使用的API等级。如果使用了高于该等级的API接口,编译的时候就会报错。

最后官方解释在这里:

http://developer.android.com/intl/zh-cn/guide/topics/manifest/uses-sdk-element.html

Eclipse不显示Console

真是太小白了,瞎整整的Console都没了,上网找了一下,记在这里。

三个方法:

1,手动打开Console窗口:

Windows > Show View > Console 或者快捷键 Alt+Shift+Q,右下弹出提示后按C,如图:

423452345 20160112172846

2,设置 Console显示的时间:

Windows > Preference > Run/Debug > Console,勾选两个Show,如果已经勾选了,就去掉在勾上,如图:

20160112172027 20160112172012

3,切换到要查看的Console:

如果已经显示Console窗口了,但是没有期望的内容,可能是切换的窗口不对,点击Console窗口右边的控件切换,如图:

20160112172055