LeanCloud 又在  招募新的小伙伴  了,来和精子一起工作吧。
归档 2013 年 2 月

近期计划(2013.2)

目前正在更新RootPanel 2.0, 功能上有不少更新: http://rp-bbs.jybox.net/46, 架构上目标是把需要配置的部分独立出来,方便卖授权.

不过估计时间不够完整重构了,因为我还打算加国际化,所有3月份先把功能更新测试并上线,然后再慢慢重构,慢慢研究卖授权的事.

其实三月份功能能不能写完都另说,今天都已经21日了…写完了还得测试,测试完了还得研究更新的问题(新版的结构变动挺大的).

LightPHP v4基本上已经差不多了, 通过RP2.0的测试, 也应该可以投入使用了,但是我没有像之前发誓的那样写完整的单元测试和文档,我想最好还是找时间补上吧.

最近又找到几个对零毫秒感兴趣的人,零毫秒的进度还需提一提….零毫秒的未来很迷茫啊.

等LightPHP v4完善,我要自己写个一组网页 works.jyprince.me 来展示我的作品…更新以下博客的关于我…

正在着手把之前的C++讲稿写成书: https://github.com/jybox/books.

打算借着RP主机改版,写 works.jyprince.me 的机会,尽可能把我手里所有的站都改成SSL.

在一年多以前,我调研过StarSSL, 当时它的浏览器支持还非常糟糕,不过现在看上去没有什么问题了,StarSSL也算是目前为数不多,甚至也许只有一个的,被各大浏览器/操作系统厂商承认的免费SSL证书.

其实GoDaddy的证书也不贵,有1折的优惠码,优惠后是5刀每年,但是靠优惠码总觉得不靠谱,还不如用免费的呢…

然后我打算继续利用RP主机的资源搞点公益服务,包括免费的临时梯子,免费博客托管(这次我是真打算支持catsup了), 低价Linode代购等等的.

我还打算学习学习SC2的地图编辑器,我有个不错的地图构思,我要实现它.

再学习一下Go语言.

Ubuntu 12.04 部署 Nginx + PHP-FPM 5.4 + APC

为什么选择这几个软件,和这几个版本?

  • Ubuntu的新版本一向很坑, bug成堆, 而12.04是一个LTS版本, 稳定性有保证. 而相比于其他发行版, Ubuntu是最易用的.
  • Nginx是一个轻量级的, 擅长并发的Web服务器, 相比于Apache, 它并发性能更好, 占用资源更少.
  • 和Nginx配合的话, 毫无疑问要选择PHP-FPM, 它是一个专用于PHP的FastCGI管理器.
  • PHP5.4 版本丢掉了很多历史包袱, 可以获得更高的安全性, 同时还有新的功能, 比如数组的方括号简写形式.
  • APC是一个开源的PHP字节码缓存器, 目前非常活跃, 且非常贴近PHP开发小组, 有望被内置到PHP6中.

安装软件包

12.04的默认源里面只有5.3版本的PHP, 而且nginx也比较旧, 所以我们需要自己添加源:

add-apt-repository ppa:ondrej/php5
add-apt-repository ppa:nginx/development
apt-get update

如果没有add-apt-repository这个脚本则需要:

apt-get install python-software-properties

ppa:ondrej/php5 这个是来自Debain的最新PHP构建. ppa:nginx/development 是来自官方的Nginx构建.

apt-get install nginx php5-cli php5-fpm php-pear build-essential libpcre3-dev
  • nginx - Nginx主程序
  • php5-cli - 命令行模式
  • php5-fpm - FPM模式
  • php-pear - PHP包管理器和扩展管理器(包括pecl)
  • build-essential - 编译环境(需要编译APC)
  • libpcre3-dev - 经测试APC依赖的一个库

配置APC

pecl install apc

然后pecl会自动下载并编译APC, 但APC没有默认被加入php.ini, 所以我们要:

echo "extension=apc.so;" >> /etc/php5/fpm/php.ini
cp /etc/php5/fpm/php.ini /etc/php5/cli/php.ini

APC 有个自带的监视器, 可以查看缓存的详细信息, 如内存占用, 命中率, 已缓存的文件等等, 有需要的话可以自行复制到Web目录.

cp /usr/share/php/apc.php /root/web/

配置Nginx

创建一个新站点:

cat > /etc/nginx/sites-enabled/web.conf

server {
    listen 80 default_server;
    server_name xxoo.xo;

    root /root/web;
    index index.html index.php;

    location / {
        try_files $uri $uri/ /index.php;
    }  

    location ~ \.php$ {  
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }  
}

重启Nginx和PHP-FPM:

service nginx restart
service php5-fpm restart

把测试网页放到 /root/web/ 就可以了, 在此我们选用一个PHP探针做测试(来自http://www.yahei.net/tz/).

性能测试

应该说两台测试机差异很大, 不是很公平(我也说不好是偏向哪一方) … 大家凑合看

测试用例(5个线程, 请求1000次): ab -n1000 -c5 http://xxoo.xo/probe.php

Nginx + PHP-FPM + APC

QPS:1022 (每秒完成请求)

Nginx + Apache + mod_php

QPS:51

我上网都在干些什么

我每天上网的时间是很多人无法想象的…
就算上学的话,每天也有5个小时,周末和假期每天几乎是12个小时或者更多,反正只要我在家,就是在在电脑前.

且等我想想我都在干些什么…

阅读 & 发现

阅读占了很大比例的时间,不爱动弹的时候,我一般靠在椅子上,一只手移动鼠标,阅读.

主要是果壳上一些科技相关的文章和问答,还有知乎上每天二十个左右的热门问题,开源中国的IT方面的资讯.
还有在Google Reader中零零散散收集到的大牛的博客订阅,以及朋友们的博客.
还有V2EX, 虽然这是个论坛,但我很少发言,这里可以看到很多有趣的项目,新闻,想法.

发言

说实话,其实就是为了出风头…
我经常会在果壳上回答一些IT相关的问题.
还有SegmentFault, 我也会去看一看,但人不是很多,也没几个我碰巧懂的问题.
百度贴吧的C++吧和Qt吧偶尔会去看看,C++吧略水,而Qt吧人则比较少.
当然,还有我自己的论坛:

社交

我主要活跃在腾讯微博, Twitter和Google+偶尔会去看看.
其他的社交网站,比如新浪微博,Facebook什么的我主要通过同步工具同步我的微博,和查看回复提醒,很少单独上.
也会去看看QQ空间里面好友的日志,不过都是各种转帖,各种脑残文…就当娱乐了.

工作

这里的工作指的是不得不做的,而且很无趣的事情,具体说就是RP主机的服务器维护,收钱算账,解答客户的问题.
看情况,占用的时间不是太多,平均下来每天一个小时吧.

写代码 & 调试

真心占的时间不是很多,每天两个小时左右吧,因为需要集中精力,很累的…
目前的项目主要就是RootPanel和零毫秒.
大部分情况下,项目的设计和代码的大纲我都会在学校花时间写好,回家主要是录入,很快,但是调试的时间就说不准了,完全看人品.

聊天

我的习惯是打开电脑就挂QQ, 邮件和微博也都有即时提醒,说实话感觉这个习惯不是很好…
一般晚上6点-8点是朋友们在线最多的时段,不管我愿不愿意….也会有一堆人找我…

游戏

我不是很专注一款游戏,基本上玩两三个月就玩够了,最近在玩的是LOL和SC2, 求战友.

看视频

主要是看多啦A梦…我只看这一部动漫,我是忠实粉…前一阵还把爱情公寓一共三部看了两遍,偶尔也会看电影.
看完电影我一般还会去豆瓣看影评 …
其实看视频不是主要目的,我一般吃东西的时候会把这些视频打开,否则的话我觉得吃东西这段时间浪费了…

写日志

其实我经常写的,但是很多写一半甚至写完的,都烂在草稿箱里面了…

每天差不多就是这些事,算下来,真的是不少事情啊…
在爪机上也差不多,除了不编程之外,其他干的时间和在电脑上一样…
RP主机出紧急情况,我在学校用我那渣手机连SSH上去排错那是最坑爹的事情…

精子生于 1995.11.25, 21 岁,英文 ID jysperm.

订阅推送

通过邮件订阅精子的博客日志、产品和项目的最新动态,精子承诺每一封邮件都会认真撰写(历史邮件),有想和精子说的话也可以直接回复邮件。

该博客使用基于  Hexo  的  simpleblock  主题。博客内容使用  CC BY-NC-SA 3.0  授权发布。最后生成于 2017-07-18.