http://www.server110.com/linux/201404/8905.html
http://blog.csdn.net/zhangliang_571/article/details/23878343