WIKI 系统的选择

由于博客不再转载文章,我弄了一个 wiki系统 ,这个系统使用的是 dokuwiki

使用 wiki 系统还有许多好处,包括但不限于:

  1. 方便保存一些零碎的想法;
  2. 转载文章便于管理;
  3. 文章之间的关系更加系统化;
  4. ……

这个系统大概有2年多了,也积累了 300 篇 wiki ,dokuwiki 有很多优点,例如小巧易用,不需要数据库等等。但最近我越来越感觉在线系统的不方便。例如:

  1. 编辑器太弱,在浏览器中编辑大段文章的体验很糟糕;
  2. 没有版本管理,需要手动备份;
  3. 需要经常更新;
  4. wiki 许多优秀的生成器不支持 wiki 格式。

因此,No Zuo No Die 的思想又开始泛滥,继 博客静态化工作 之后,我又开始折腾 wiki 静态化。

数据备份倒是好办,直接把 wiki 格式的纯文本从 dokuwiki 的文件夹中复制出来就可以了。wiki 这种标记格式的支持,还是没有 Markdown 广泛,甚至都不如 AsciiDoc 。因此,我需要把 wiki 格式转换成 Markdown 。这个简单,祭出 Pandoc 大旗就好了。

比较麻烦的是新系统的选择。在我看来,这个系统必须包含这样几个特点: 继续阅读WIKI 系统的选择

博客静态化工作

很早以前就想把博客转换为静态站点。现在,我终于下决心来做这件事了。

为了这件值得纪念的事,我必须要写一点东西。

不得不说的历史

如果从 2005年4月 开始算起, zrong’s blog 已经存在了将近10年的时间。但事实上,我在2003年就开始写博客了。最早用的博客系统是基于 ASP 的 oblog 系统。由于当时不太注重网络安全(其实是菜鸟啥都不懂),我的第一个博客被黑掉,然后我转投了 WordPress ,没想到这一写就是10年。

2011年6月11日,我开始使用 Markdown 写博客,文章会直接提交到 Github 上。然后再手动粘贴到 WordPress 后台,使用 Markdown On Save 插件来渲染博客内容。

之前的文章使用的是 HTML 格式,我使用 Pandoc 将它们全部转换成了 Markdown 格式。

到现在,博客上已经有了700多篇文章,大部分是原创,也有一部分是翻译和转载的。最近几年,基本没有转载过文章了。

目前,我的博客跑在 阿里云主机 上,用 lighttpd 做服务器,并使用了 WP Super Cache 扩展。 继续阅读博客静态化工作

在WordPress中禁用Google字体

最近我的博客经常无法访问。可放在同一主机的 Rect的博客 却正常。

留意了一下访问顺序,发现页面载入的时候会先访问 fonts.googleapis.com 去获取字体。但是目前 google 的服务器被封严重,导致我的博客也遭殃了。

网上找了一个插件用来禁用 Google 字体,在这里:

Disable Google Fonts

主机增加到1G内存

入手阿里云服务器之后,我的博客进入了一段稳定的时期,终于不用到处找合适的主机了。但由于主机的内存太小(512MB),我还是想了一些方法来进行优化。例如挂载swap文件从Apache到Lighttpd 等等。

但最近几天,博客无响应变得频繁,基本上每天都有2\~3次。远程上主机 top 看一下,还是内存吃紧。博客无响应的时候,可用内存只剩4MB,大多数内存被 php-fpm 进程吃掉了。

于是在主机后台把内存加到了1GB,阿里云自动计算到本次到期需要的费用,花了153元。

重启主机后,访问博客瞬间感觉高大上了。

挽救时间 RescueTime 中文介绍

相信许多人和我一样,在打开电脑工作的时候,经常被其他因素干扰导致工作效率降低。而 RescueTime 就是避免这种情况的一个优秀工具。

我已经使用 RescueTime 4天时间了,我确定它对我有用。下面是几点分析:

作用

RescueTime 能记录你的电脑和移动设备上的所有操作。它知道你访问了什么网站,打开了什么程序,以及在这个程序(或网站)上花费了多少时间。根据这些数据, RescueTime 就能知道你是否在认真干活,以及什么时候在开小差。

比如这是我今天的成绩:

diary

看得出来我还是很敬业的。 继续阅读挽救时间 RescueTime 中文介绍

小内存服务器MySQL出现Out of memory错误

2012-12-16更新:这方法貌似没有什么用,MySQL依然一天挂掉3次,给服务器加上swap文件试试。


使用阿里云服务器的第二天,我就收到阿里云的提醒短信,说网站挂掉了。

上网站一看,提示数据库连接错误,重启MySQL了事。

没想到11点钟的时候MySQL再次挂掉了,上服务器一看,原来是MySQL进程被Kill了,原因是 Out of memory

Dec 14 11:38:02 aliyun kernel: [69756.532361] Out of memory: Kill process 11168 (mysqld) score 114 or sacrifice child
Dec 14 11:38:02 aliyun kernel: [69756.532430] Killed process 11168 (mysqld) total-vm:821140kB, anon-rss:57004kB, file-rss:0kB

我的服务器内存只有512MB,而且没有配置SWAP分区,看来是MySQL占用的太多内存。找到 /etc/mysql/my.cnv 配置进行修改(注意备份):

key_buffer = 16K
max_allowed_packet = 1M
thread_stack = 64K
thread_cache_size = 4
sort_buffer = 64K
net_buffer_length = 2K
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10

同时也修改Apache的配置

Timeout 45
KeepAlive On
MaxKeepAliveRequests 200
KeepAliveTimeout 3
<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          30
    MaxRequestsPerChild   2000
</IfModule>

重启Apache 和 MySQL

service apache2 restart
service mysql restart

参考资料:

阿里云经济A型服务器配置

双11抢了一台阿里云的服务器,一直到今天才有时间来配置,把自己的博客迁了过来。下面是配置过程。

服务器配置

  • CPU: Xeon 2.26GHz 单核
  • 内存:512M
  • 硬盘:20GB系统盘 + 20GB数据盘
  • 系统:ubuntu 12.04 64位

挂载数据盘

数据盘默认是没有挂载的,因此需要先初始化数据盘。
我将数据盘挂载到了 /srv 目录中,用它来存放网站文件。

#查看所有硬盘
fdisk -l
#创建一个主分区,使用数据盘所有空间,创建过程略
fdisk /dev/xvdb
#格式化刚刚创建的分区为ext4格式
mkfs -t ext4 /dev/xvdb1
#修改fstab,将/dev/xvdb1挂载到/srv
vim fstab
#加入下面一行
/dev/xvdb1      /srv    ext4    defaults        0       0
#自动挂载
mount -a

配置Apache+PHP+MySQL

安装必须的组件。php5-mcrypt 是PHPMyAdmin必须的组件,所以这里一起安装了。

apt-get install apache2 mysql-server php5 php5-mysql libapache2-mod-php5 php5-mcrypt

启动Apache和MySQL

/etc/init.d/apache2 restart
/etc/init.d/mysql restart
#或
service apache2 restart
service mysql restart

配置虚拟主机

Ubuntu的虚拟主机配置很简单,它将虚拟主机分配到 /etc/apache2/sites-available//etc/apache2/sites-enabeld 两个目录,前者用于放置可用站点的配置,后者放置已经启用的站点。

复制默认的配置文件,将其修改成我需要的配置,然后启用它。

cp /etc/apache2/sites-available/default /etc/apache2/sites-available/zengrong.net
#a2ensite脚本会自动在 `/etc/apache2/sites-enabled` 下建立一个同名的符号链接
a2ensite zengrong.net
#重启apache使配置生效
service apache2 restart

如果希望暂时停止站点,可以使用:

a2dissite 站点名

配置模块

使用 a2enmoda2dismod 可以启用和禁用模块。可用的模块放在 /etc/apache2/mods-avalable 中,已经启用的模块放在 /etc/apache2/modes-enabled 中。

#启动rewrite模块
a2enmod rewrite

参考文章

入手阿里云服务器

一直希望有一台属于自己的独立服务器,这几天阿里云做11.11活动,就抢了一台。

话说11月10日23:00按下支付,结果整个页面就挂掉了,刷了1分钟还是没进去。接着陆陆续续刷了大概4分钟,好像发现成功了。第二天上线一看,购买顺序排在400多名,能送10个月,这结果也勉强能接受吧。

测了一下速度,下载能达到阿里云标称的带宽。但服务器间互传不知道为什么没限速,我在阿里云服务器中使用scp下载另一台独立服务器(非云服务器)上的文件,速度居然是5MByte每秒。难道两台服务器那么巧在同一机房?

系统盘读取速度75.95MB/s,写入速度29.3MB/s,看来和网上传的差不多,磁盘性能不给力啊。

已经被盛大云坑过了,希望阿里云不是第二个坑。

用一段阿里云之后,我会写一篇阿里云和盛大云的对比文章。

有道网页翻译

从beta版开始,我一直在用有道词典,小巧且绿色,基本能满足需要。

今天偶尔发现有道词典中有“有道网页翻译2.0beta”的广告,点击试用了一下,感觉还不错。

与Google translate比较,个人感觉有以下几点优缺点:

优点:

  • 不会被墙(Google translate经常被墙,影响心情和效率)
  • 提供翻译难词模式,只显示难词的示意,不会让全文翻译影响阅读

 

缺点:

  • 测试版有些不稳定,某些网站无法翻译,例如这个(当然这是测试版的原因,且Google translate的“不稳定”情况更严重)
  • 翻译质量

投奔GODADDY主机

终于还是投奔了米国主机。测试的这几天看来,速度还不错。除了刚刚买的当前有问题外,一直都保持在200MS延迟。ftp上传速度能到80KB/s,一般为50-60KB/s。平时用SSH管理主机还真是方便,直接用wget把备份在老主机上的100多MB的压缩包拖下来解压,速度那个快啊……

建立的MySQL数据库可以允许远程访问,可以用Navicat管理自己的数据库了。

10G空间,每月300G流量,可开25个子网站,可惜的是不能把子目录绑定到主域名上。