本站轉用 FeedBurner

原先我以為 Google 關閉 Reader 服務是標誌了 RSS 時代的過去,沒想到近期來湧出了大量的 RSS Reader 網站,著實是讓我嚇了一跳。

雖然我不確定有多少人在收看我的個人部落格,為了永續經營、節能減碳的目標,本站即日起改用 FeedBurner 服務提供 RSS 訂閱。

請有意願繼續追蹤我的廢話的訪客,改為訂閱:

http://feeds.feedburner.com/sntc06

謝謝各位鄉親父老的支持。

本站轉用 FeedBurner

FreeBSD 建置 Apache + mod_fastcgi + php-fpm

近日在實驗 Apache 使用 FastCGI (mod_fastcgi) 搭配 PHP 提供的 PHP-FPM 網頁架構。

Apache 如果什麼都沒有動的話,應該預設是跑 prefork ,也就是預先 fork 一些子程序出來等連線,這樣的架構在大量連線的伺服器來說不是很穩定。更改編譯選項可以換成用 worker mpm 方式,如此一來 Apache 可以用 thread  的方式來執行,資源利用較有效率。

除此之外,PHP 的部份也可以改用 FastCGI 的方式來執行。

預設安裝的 mod_php5 的執行方式是由 Apache 呼叫,等待 PHP 程式執行完畢之後再一起輸出給使用者。若是使用 CGI 的方式來執行,則當 Apache 收到 PHP 執行需求的時候,會去叫起 php-cgi 這隻程式,等待其執行完畢之後再回傳結果。當然這也不是有效率的作法,因為一次只接受一個連線,若有多個連線要叫起一堆的 php-cgi。若採用 FastCGI protocol 的方式執行,php-cgi 這隻程式會成為一隻 daemon 在背景執行,隨時等待連線。

FastCGI protocol 在 Apache 裡面的實做方式有兩種,mod_fastcgi 與 mod_fcgid。前者發展較早,由 fastcgi.com 維護,fastcgi process 開起來之後會一直在後台跑,隨時接受連線;後者為 Apache 基金會自己的項目,目標是可以隨時動態增減 fastcgi process 的數量,一旦用完就殺掉,有效利用資源又不致於在 晚上 流量大的時候被打掛。關於這兩個的優劣並沒有絕對,各位可以上網搜尋相關資料。

繼續閱讀 “FreeBSD 建置 Apache + mod_fastcgi + php-fpm”

FreeBSD 建置 Apache + mod_fastcgi + php-fpm

FreeBSD 9.0 Release

延伸閱讀:FreeBSD 8.0 升級
http://blog.snowtec.org/2010/02/freebsd-80-release/

FreeBSD.org 於 1/12 釋出了 9.0 的發行版本,寒假閒著沒事幹的我當然試著升級囉!

延伸閱讀
FreeBSD 9.0 Release Notes:http://www.freebsd.org/releases/9.0R/relnotes.html
FreeBSD 9.0 支援的新功能:http://ben6.blogspot.com/2011/08/freebsd-90.html

不過由於我的測試主機是虛擬機,效能不太好,因此上文提到的編譯全世界的方法就很花時間(當然我也很懶),因此這次就來嘗試之前沒有試過的 “freebsd-update” 工具程式。

根據 FreeBSD handbook 所述,這個工具程式可以直接下載編譯過後的 binary 執行檔,不用再重新編譯世界,速度上可以說是快了不少。所以就來更新吧!

首先,需要…. 嗯,根據說明這個工具超級自動化,事前準備幾乎都不需要了。當然,檔案與設定檔的備份都還是要做,畢竟這可是升級,各種恐怖的事情都有可能發生。

接下來就開始更新吧!

指定 -d 的參數是因為我 /var/db 下面的空間不夠,而 freebsd-update 預設會將檔案下載到這邊。如果硬碟空間不夠的話要另外指定資料夾才行。

接下來 freebsd-update 會開始下載更新所需要的 binary 檔案,執行完了之後進行下一步。

過程中會詢問你需要合併之設定檔,然後重開機一次,若有需要的話(建議)更新所以系統上已安裝的 ports ,再執行一次:

再重開機一次即可完成安裝。

FreeBSD 9.0 Release