微软免费提供的 XP/Win7/Win8.1 虚拟机映像下载 (前端开发必备)

相信做过前端开发的翼友都知道,测试网站在不同浏览器下的兼容性是件麻烦的事,光 IE 就有好多个版本,而且同样是 IE8 ,由于系统中字体的安装与配置情况不同,网站在 XP 和 Win7 下的显示效果也是不同的。特别是用 Mac 做开发的翼友,还得特意找来 Windows 专门做 IE 的兼容性测试。

一般情况下,我们需要自行创建虚拟机并装好系统,然后再做一系列的环境配置,才能开始工作,这样既费时又费力。幸运的是,微软官方特意为我们免费提供了包括 XP/Vista/Win7/Win8/Win8.1 甚至 Win10 等操作系统的虚拟机镜像下载用于测试!你可以在 VMware / VirtualBox / Hyper-V / Paralles Desktop 等虚拟机软件上直接导入即可使用这些操作系统。

截图

msvms01

msvms02

注意事项

  1. 这些虚拟机映像不能用于真机安装,只能运行在虚拟机当中。
  2. 映像中的系统是可以免费使用的,你可以根据桌面提供的方法延长使用期限。
  3. 由于微软并没有限制系统只能用于测试网站,所以你可以将其用于测试新软件,或者在 Mac 下使用网银等。
  4. 微软官方发布,所以安全性、稳定性和版权方面都不用担心,而且这些虚拟机映像下载导入就能够直接使用,既省时又省力。
  5. 虚拟机映像中的操作系统是英文的,如需中文,需要自行下载中文语言包。

下载

访问 https://www.modern.ie/en-us/virtualization-tools#downloads,选择合适的版本及平台下载,运行下载到的自解压包,然后导入解压得到的虚拟机映像即可。

 

简易教程:使用 Memcached 为 WordPress 站点提速

翼帆远航在阿里云服务器的硬件配置是 单核 CPU + 1G 内存,软件配置是 Ubuntu + Nginx + PHP + MySQL,在之前添加 SWAP 分区解决完内存不够用的问题以后,现在可以进一步为翼帆远航提速。由于阿里云服务器的磁盘 IO 性能太差,而关系型数据库 RDS 又太贵,所以翼帆远航采用了折中的办法 —— 用 Memcached 为站点进行加速。

到底什么是 Memcached 呢?在没用 Memcached 之前,一个访客访问翼帆远航,WordPress 就要向数据库发送查询指令,获取文章、评论等数据,而指令的数量又随着  WordPress 插件的增多而增加,再加上磁盘 IO 本来就不行,这样网站的速度就慢如蜗牛了。使用 Memcached 能让这些文章、评论数据事先缓存在内存中,而需要访问时直接从内存中取就可以了,大幅提高了网站的速度。

接下来我就将我的实践经验写在下面,不同的软件环境配置方法有所不同,大家可以参考,也欢迎交流!

一、配置 Memcache

1、安装 Memcached 服务端。
Memcached 服务端是与 Nginx、PHP、MySQL 平级的服务器应用软件,负责内存对象缓存的具体操作。

安装方法:在 Shell 中执行以下命令

2、安装 Memcache For PHP 模块。
该模块的作用相当于 PHP 与 Memcached 服务端的连接线。

安装方法:在 Shell 中执行以下命令

接着,修改 php.ini(/alidata/server/php/etc/php.ini)

找到 extension_dir = “./” 修改为 make install 之后得到的目录 extension = “/alidata/server/php/lib/php/extensions/no-debug-non-zts-20100525/”
然后添加 extension = memcache.so

此时在 info.php 中可以看到 memcache 的相关信息,代表安装成功,如不行可尝试重启 nginx。

二、在 WordPress 中启用 Memcached

1、安装插件:Memcached Object Cache。
在 WordPress 后台搜索插件:memcached,安装名为“Memcached Object Cache”的插件,但不启用,复制其安装目录下的 object-cache.php 到 /wp-content/ 即可。

2、进阶。安装插件:Batcache。
复制其安装目录下的 advanced-cache.php 到 /wp-content/ ,并在 wp-config.php 中添加 define(‘WP_CACHE’, true); 激活 Batcache,此时多次刷新页面查看源代码(未登录状态),在 </head> 之前可以看到 Batcache 的输出信息。可选将 batcache.php 复制到 /wp-content/plugins/ 。

3、进阶。安装插件:WP Memcached Manager 
查看 Memcached 缓存的效果及命中率等数据。

解决 WordPress 无法连接到数据库的问题

最近,翼帆远航搬家到阿里云,遇到的问题接连不断,先是内存不足导致 MySQL 频繁挂掉,解决后过几天又出现 wp_options 数据表损坏导致网站无法访问的问题,由于阿里云服务器相当于 VPS,所以出了问题一般都要自己解决,不像之前用虚拟主机,出了问题只要向客服知会一声就行,不过这样也好,通过“出现问题——剖析问题——解决问题”也让自己对网站的运行有了更深层次的了解,学到了更多有用的知识。

今天我将最近学到的知识和解决问题的经验分享出来,一方面方便自己日后查阅,另一方面为有需要的翼友提供帮助。

wordpress    database

问题产生的原因

网站无法访问,WordPress 提示无法连接到数据库,主要有以下几个原因:

1、数据库的配置不正确。

数据库的密码或 WordPress 的配置文件 wp-config.php 被改。可能是你自己之前做什么项目改了,或是被主机商或黑客改了,这种情况发生的概率不大,不过最好先瞧一眼。

2、数据库服务器没有启动或出错。

翼帆远航之前网站不能访问就是这个原因,内存不足导致 MySQL 服务频繁被杀掉,解决方案可以参照之前写的文章《阿里云服务器上 MySQL 频繁挂掉的解决方法》,也有可能是数据库服务器出错,具体可以问一下主机商。

3、数据表 wp_options 出现问题。

这个问题比较常见,wp_options 储存了 WordPress 博客的大部分配置信息,因此 wp_options 表出现问题也会导致网站无法访问。如果 wp_posts 表出现问题,那么你就看不到文章了。出现该问题解决方法也很简单:

  1. 到 phpMyAdmin 修复出问题的数据表。
  2. 向 wp-config.php 添加一句代码:define(‘WP_ALLOW_REPAIR’, true);  然后访问 http://网站地址/wp-admin/ 根据提示进行自动修复,然后就 OK 了。

结语

以上是 WordPress 无法连接数据库 常见的问题产生原因及常规的解决方法,如果你上面 3 种方法都试了,但还无法解决,或者有什么需要交流的,欢迎留言。

(分享) 阿里云服务器上 MySQL 频繁挂掉的解决方法

前几天翼帆远航搬家到阿里云服务器,原本一切都很正常,但从昨天开始就经常出现“打开页面提示无法连接到数据库”的问题。按正常思路走,数据库无法连接,那肯定是 MySQL 服务出了问题,重启 MySQL,网站暂时恢复正常,但过了一会儿又挂了。

百度搜索后发现网上有很多人跟我遇到了同样的问题,问题产生的原因大概是:内存不足,MySQL 进程被杀掉。感谢 hongjiang 提供了解决方法,网站运行到现在一直都很正常。

database

解决方法

1、降低数据库 InnoDB 引擎的缓冲区大小。

在 /etc/my.cnf 的 mysqld 下添加下面一句:

说明:WordPress 默认使用 InnoDB 数据库引擎;innodb_buffer_pool_size 设置的是缓冲区的大小,默认值为 128M,鉴于个人博客访问量不会太大,因此适当降低缓冲区的大小以减轻内存压力。

2、添加 swap 分区。

a. 在 Shell 中逐条执行下列语句:

说明:创建一个有 1024 个块的区,每块 1M,总的来说就是创建一个 1024M 的区;接下来将该区设为 swap 分区;再接着启用 swap 分区。

 b. 将下面一行添加到 /etc/fstab :

 说明:服务器启动时自动挂载刚刚创建的 swap 分区。

3、最后重启 MySQL 使操作生效。

结语

以上解决方法来自 http://hongjiang.info/aliyun-vps-mysql-aborting/,相关说明则是个人理解,不代表完全正确,欢迎交流!

 

2014-12-06 补充

1、如果不需要 MySQL 的 InnoDB 引擎可以将其关闭。

如果需要用到 InnoDB 可以按照上文介绍的办法将 innodb_buffer_pool_size 从默认的 128M 减小到 64M 以减少内存占用。

2、为了节约内存,nginx 也做相关配置:一个 CPU 进程,256 个线程即可。

3、减少 php-fpm 的资源占用,可根据自身情况进行修改。

补充内容转载自:http://www.zzsck.org/program/mysql/5477.html

WordPress 技巧:不依赖 Google API 为每个页面生成二维码

二维码是电脑与移动设备间的桥梁,用移动设备扫描电脑屏幕上的二维码,即可在移动设备上浏览电脑端未读完的网页。本文介绍的方法是:利用德国公司提供的 QRCode API 和本地缓存的机制为 WordPress 每个页面生成二维码。

如果你更希望使用 Google API,可以参考这篇文章《巧用“Google API + 本地缓存”的机制为每个页面生成二维码

效果预览

qrcode_cache_02

qrcode_cache_03

可以看出,二维码是从本地缓存中加载的。

操作步骤

1、安装插件 Code Snippets,它能让你在 WordPress 后台直接管理代码段,而不必频繁的修改 functions.php。

2、新建一个代码片段,将以下代码贴入其中。下列代码的作用是定义获取二维码及本地缓存的方法。

3、在网站的根目录下创建名为 qrcode 的文件夹,确保有写入权限,本地缓存的二维码图片将存于该文件夹中。

4、安装插件 Enhanced Text Widget,它能让你在侧边栏小工具中直接使用 PHP代码。

5、添加一个名为“Enhanced Text”的小工具,标题为“本页二维码”,内容为以下代码:

6、保存后,在前台侧边栏就可以看到当前页的二维码了。

详细解说

以上代码中,get_qr 方法用于拉取二维码并缓存于本地,而 show_qrcode 方法则用于显示二维码,你可以在全站任意支持 PHP 代码的位置调用 show_qrcode() 来显示当前页的二维码。

以上代码的第 31 行,$imgsize 表示获取二维码的大小,可根据需要修改。

QR Code API Reference:http://goqr.me/api/

WordPress 技巧:Gravatar 头像被墙及解决方法

今年 6 月 Google 服务器彻底被墙,而 WordPress 默认又需要从 Google 服务器加载字体,因而网站整体速度变慢,站长们怨声载道,好不容易处理完这个问题以后,现在又发现 Gravatar 头像被墙了,由于 Gravatar 是世界通用的头像存储系统,所以不仅仅是 WordPress,国外很多优秀的建站系统同样调用 Gravatar 头像,然而现在 Gravatar 被墙,国内站长又得忙活开了。

user

目前最佳的解决方案是调用 Gravatar 官方的 SSL 头像链接,因为 HTTPS 没被墙,而且访问速度不错,这应该是最稳妥的方案了。

操作方法:将以下代码放到 functions.php 的合适位置即可。

如果你用了 Code Snippets 插件,那么建议你新建一个代码段,然后将以上代码复制进去就行了,以后无论是要修改代码,还是添加删除,都不用修改主题文件了,很方便。

链接:查看 Code Snippets 的介绍

code-snippets-gravatar

 

本地缓存

国内主机不推荐!墙内的主机根本无法访问 Gravatar,更不用说缓存了,国内主机用本地缓存的方法反而会使网站速度更慢!

如果你用国外主机或香港主机,可以将以下代码复制到 functions.php 中。

然后在 WordPress 根目录下创建名为 avatar 的文件夹,并给与写入权限,然后放入一张默认头像名为 default.jpg

目录结构为:
/wp-admin/
/wp-content/
/wp-includes/
/avatar/default.jpg

翼帆远航正在使用第一种方案,如果你有更好的解决方法,也欢迎提出来!

相关链接:禁用 Open Sans 字体 (Google Fonts) 为 WordPress 提速

 

注:代码引用自 WordPress 大学,并在此基础上有所改动,原文链接:http://www.wpdaxue.com/gravatar-is-blocked.html

翼帆远航已迁移至阿里云

很高兴的告诉大家,翼帆远航搬家到阿里云啦!

color-wordpress

记得 2012 年 5 月刚建站的时候,翼帆远航落户于 Bloghost 提供的美国主机上,但因后来的几次海底光缆故障,加之页面载入缓慢,遂迁移至三号主机的香港机房中,一方面地理位置近,加载速度快,另一方面也没有物理线路中断之忧。总的来说,Bloghost 和三号主机都是非常优秀且值得信赖的主机提供商,不仅有多种个性化的套餐可供选择,而且价格还很亲民,服务稳定,还有客服及时解决问题,非常适合新手及对扩展性要求不高的站长。

翼帆远航最终之所以选择搬家到阿里云,主要有以下 2 个原因:

  1. 身边的人都在用阿里云,并持以好评。
  2. 两年的建站经验,加上对网站速度更高的要求。

阿里云提供了一套非常人性化的建站解决方案,帮助新人快速入手,同时协助站长备案,大大缩短了备案的时间,这点很赞!

最后,感谢大家一直以来对翼帆远航的支持、关心与照顾,翼帆远航会继续分享更多有价值的内容,不仅在技术水平更在个人能力上有所提高!

如何实践极简主义生活方式

极简主义生活方式,是对自身的再认识,对自由的再定义。深入分析自己,首先了解什么对自己最重要,然后用有限的时间和精力,专注地追求,从而获得最大幸福。放弃不能带来效用的物品,控制徒增烦恼的精神活动,简单生活,从而获得最大的精神自由。

① 欲望极简

  • 了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。
  • 把自己的精力全部用在自己最迫切的欲望上,如提升专业素养、照顾家庭、关心朋友、追求美食等。

② 精神极简

  • 了解、选择、专注于1-3项自己真正想从事的精神活动,充分学习、提高。不盲目浪费自己的时间与精力。

③ 物质极简

  • 将家中超过一年不用的物品丢弃、送人、出售或捐赠。比如看过的杂志、书,不再穿的衣服,早先收到的各种礼物或装饰品。
  • 明确自己的欲望和需求,不买不需要的物品。
  • 确有必要的物品,买最好的,充分使用它。
  • 不囤东西,不用便宜货、次品。
  • 用布袋,代替塑料袋和纸袋。
  • 用一支好用的钢笔,替代堆积如山的中性笔。
  • 用瓷杯、钢杯代替纸杯。
  • 用电脑写东西,少用纸。养成纸质文件扫描、存档的习惯。
  • 整合、精简电源线、充电设备。不重复购买电子产品。
  • 精简出门行头,只带“身手钥纸钱”。
  • 精简银行卡,仅保留一张借记卡一张信用卡。

④ 信息极简

  • 精简信息输入源头,减少使用社交网络、即时通讯。少看微博、朋友圈。
  • 定期远离互联网、远离手机,避免信息骚扰。
  • 不关注与己无关的娱乐、社会新闻。
  • 精简电子邮箱数量。
  • 关注少而精,宁缺毋滥。时间线干净。
  • APP使用少而精,删除长期不使用的应用。

⑤ 表达极简

  • 写东西、说话,尽可能简单、直接、清楚。
  • 多用名词、动词。少用形容词、副词。

⑥ 工作极简

  • 使用有效的GTD方法,不拖延。
  • 及时清理电子邮件,不要让它们堆积起来。
  • 一次只专注做一件事,尽可能不做Multi-task。

⑦ 生活极简

  • 慢生活。
  • 不做无效社交。
  • 锻炼。
  • 穿着简洁、不花哨。
  • 少吃含有添加剂的食品。
  • 喝白水和纯果汁,不喝添加了大量化学成分的碳酸饮料和果汁。

实践极简主义的方法、角度有很多,关键是要行动起来。