大學 …. 總算畢業了,有苦有樂只有肝是黑白的 … XD
大學之最:
- 最感激:能加入逢甲這個大家庭,爹親娘親逢甲親!
- 最喜歡:逢甲的正妹 ….. (眾歐)
- 最討厭:教育部
- 最後悔:大五才接觸社群 (COSCUP 2009)
- 最糟糕:把身體搞掛了
- 最高興:能認識各界不同的高手和神人
- 最杯具:拿洗面乳刷牙
- 最頭大:在 HIT 2010 上 IRC (ID:zero) 被當成傑洛 (itszero)
還有什麼形容詞?我一直想不出來 XD
軟體開發和生活瑣事
大學 …. 總算畢業了,有苦有樂只有肝是黑白的 … XD
大學之最:
還有什麼形容詞?我一直想不出來 XD

今年 COSCUP 在中研院舉辦,場地超大、造訪人次也高達 977 人!
這次加入記錄組幫忙拍照,不過鏡頭光圈 F/3.5-6.3 實在太小,在演講廳裡面拍照不靠運氣就只能拉高 ISO,照片實在少的可憐。可以見人的照片已經上傳到 Flickr 和 Picasa,Flickr 因為免費帳號的關係已到達上傳限制,所以要看完整的照片麻煩請到 Picasa。
Flickr:
http://www.flickr.com/photos/johnroyer/tags/coscup2010/
因為老舊機器跑 Apache 實在太費力了,不少朋友都推薦 Nginx 來取代 Apache。網路上不少效能測試也顯示 Nginx 使用的系統資源比較少。
Install Nginx from ports:
cd /usr/ports/www/nginx
make config # select modules you want
make install clean
Install php52 from ports:
cd /usr/ports/lang/php52
make config # Enable FPM
make install clean
安裝 PHP-FPM (Fastcgi Process Manager) 後,在 /etc/rc.conf 加入啟動設定並啟動 php-fpm:
echo php_fpm_enable="YES" >> /etc/rc.conf
/usr/local/etc/rc.d/php-fpm start
依照預設值 FPM 會 listen port 9000,可以用 sockstat 看一下是否啟動成功:
$ sockstat
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
www php-cgi 2736 0 tcp4 127.0.0.1:9000 *:*
www php-cgi 2735 0 tcp4 127.0.0.1:9000 *:*
www php-cgi 2734 0 tcp4 127.0.0.1:9000 *:*
www php-cgi 2733 0 tcp4 127.0.0.1:9000 *:*
www php-cgi 2732 0 tcp4 127.0.0.1:9000 *:*
root php-cgi 2731 4 stream -> ??
root php-cgi 2731 5 stream -> ??
root php-cgi 2731 6 tcp4 127.0.0.1:9000 *:*
若要修改 listen port 可以開啟 /usr/local/etc/php-fpm.conf,搜尋「listen_address」,設定檔是以 XML 的方式撰寫,把 127.0.0.1:9000 改成自己要得即可。
修改 Nginx 設定檔 /usr/local/etc/nginx/nginx.conf,大約在 60 行左右可以看到「pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000」,將該段落的設定檔取消註解。
另外 Nginx 設定檔有個很怪的地方,就是 fastcgi_param 的預設值不是在網頁目錄底下,要將後方的「/scripts」改成「/usr/local/www/nginx-dist」,這樣 Nginx 才會將網頁目錄底下的 PHP 程式交給 FPM 執行。
設定完畢存檔,/usr/local/etc/rc.d/nginx start 啟動 nginx 就可以弄個 phpinfo 來測試了。
昨天去家樂福遇到學長在採購,原來今天是中元普渡要拜拜。
學長說只要看推車的顏色就可以知道行業:
這次為了 WordPress 3.0 花了不少時間搞 tuning,後來 cookys 大大跟我說 eaccelerator 效果不大,可以改用 APC 加速。
Install APC on FreeBSD:
cd /usr/ports/www/pecl-APC/
make install clean
安裝好以後修改 php.ini,參數在 /usr/local/share/doc/APC/INSTALL 有詳細說明。
apc.enabled=1 ; 1 as enable, 0 as disable
apc.shm_segments=1
apc.shm_size=128 ; Shared memory size in MB
apc.ttl=7200 ; TTL for cache
apc.user_ttl=7200
apc.num_files_hint=1024
apc.mmap_file_mask=/tmp/apc.XXXXXX ; 6 個 X 請勿修改
apc.enable_cli=1
設定完畢後重新啟動 Apache。
使用 phpinfo() 後若看到 APC 相關資訊表示 APC 已經可以使用。接著複製 apc.php 到 www 目錄下並設定帳號密碼,便可以查看 APC 的統計資訊:
cp /usr/local/share/doc/APC/apc.php /usr/local/www/apache22/data/
設定帳號密碼:
defaults('ADMIN_USERNAME','user_id');
defaults('ADMIN_PASSWORD','user_password');

左方圓餅圖代表記憶體情況,右方 Hits 代表使用到快取,Miss 表示要求的程式不在快取內。
安裝好 APC 後自己拿 JMeter 做測試,Wordpress 3.0 的首頁在安裝 APC 後大概快了 200 ~ 500ms 左右,感覺算快了不少,不過一部分原因是 JMeter 設定全部都跑去抓首頁,建議加上亂數元件讓 JMeter 隨機讀取網頁會更準。
參考資料:安裝 PHP APC 加速網頁速度 | 小惡魔
http://blog.wu-boy.com/2008/06/05/275/