今天把 FreeBSD web 改成了 apache worker 其實之前就已經這麼做了,只是今天加上 mod_fastcgi 我是參考 DarkKiller 大神 apache22 (worker) + mod_fastcgi + php5-fcgi,之前就把 Server 換成了 php5-fcgi,只不過我是搭配 Lighttpd,效能方面還不錯,可以參考這篇:[FreeBSD] Lighttpd + PHP + mod_proxy + FastCGI,那因為用 lighttpd 的外掛模組真的太少,不像 apache 支援這麼多 module,重點是還缺少了 .htaccess 這個功能,所以大大降低大家使用 lighttpd,近期內會把全部 server 換成 apache2 搭配 mod_fastcgi,那底下寫一下作法了:
Read Full Post »
Posted in FreeBSD, 中正大學 on Aug 29th, 2008
之前幫學校轉移校內碩博士論文系統,學校是用 Ethesys 這一套之前是中山大學在負責維護,可是到2006年8月以後,中山大學團隊不再提供eThesys的諮詢服務,改由 漢珍數位圖書公司 負責維護eThesys 2.1,仍將提供免費原始碼下載和安裝諮詢,詳細情形請看:eThesys 2.1 原始碼取得方式,不過話說漢珍數位圖書公司,我有寄信過去,有沒得到回應,真的有點 XXXX,他也不提供1.x版升級到2.1版的 update 說明,然後在安裝過程,因為用到 MySQL,裡面還有一些問題要自己 debug,所以沒有一些基礎,可能會花比較多時間下去裝,我是用 FreeBSD 系統 7.0 Release 版本,寫了說明書給學校,不過有些比較細節的步驟好像沒有補上,因為忘記了 XD,提供下載連結:Ethesys2.1 系統建置說明書,大家可以看看。
Read Full Post »
Posted in FreeBSD on Aug 26th, 2008
剛剛看到 chinsan's Blog 裡面提到 關於 FreeBSD 的 security patch 是怎麼處理的?,這篇寫的非常不錯,所以順道把手上機器都全部處理了 upgrade 系統了,當然首先是要先習慣閱讀 /usr/src/UPDATING 跟 /usr/ports/UPDATING,當然這兩個其中一個是系統的安全性更新,一個是 ports tree 安全性更新。
裡面 chinsan 大大提到的 SA(Security Advisories)
http://www.freebsd.org/security/advisories.html
相關反應管道請參考 http://security.freebsd.org
這裡的 SA 其實也可以在 /usr/src/UPDATING 這裡面看到,但是網頁版似乎比較好,我提供解法,做起來也不會很困難。
Read Full Post »
Posted in Lighttpd, Linux, php, www on Jul 10th, 2008
最近一直在玩 Lighttpd 這一套 web 的 daemon,我覺得這一套還蠻好用的,不像 Apache 掛載這麼多 module 結果吃還蠻大的資源,加上 Apache 預設跑 MPM prefork 所以如果大型網站大概就會掛掉,線上人數一堆,就會快撐不住了,所以用 MPM worker 或者是 MPM Event,然後 Lighttpd 本身還支援 mod_rewrite 的功能,可以參考我之前寫的 [FreeBSD]Lighttpd + php5 + 解決 wordpress Permalinks 問題,不過最近遇到一個很奇怪問題,那就是 Lighttpd 會自己掛點,但是我看 message 跟 error log 底下是:
2008-07-10 09:08:31: (server.c.1258) NOTE: a request for /wp-includes/js/scriptaculous/effects.js?ver=1.8.0 timed out after writing 32991 bytes. We waited 360 [...]
Read Full Post »
Posted in FreeBSD, Linux, apache, php, www on Jul 1st, 2008
最近在玩 FreeBSD 伺服器的加強效能,其實我自己試了很多套:eAccelerator,Pear APC,跟 Zend Optimizer,這三套都是可以加速php的速度,當你的 apache 效能遇到瓶頸,就可以選用這三個來改善網頁瀏覽速度,不過應該沒有人三個都用吧,畢竟三個東西,感覺都是cache幫助,所以達成我們所想要的要求,有時候並不是全部安裝就是代表你的伺服器一定會超快,因為我的經驗是三個不能同時裝,只要裝了兩個都會出問題,這是我這幾天測試的結果,只要裝了Pear APC,就不能裝Zend Optimizer跟eAccelerator了,因為我的 httpd 的 log 會噴出底下訊息:
signal Segmentation fault (11) 跟 pid 15879 (httpd), uid 80: exited on signal 11
Read Full Post »
Posted in DNS, FreeBSD, Linux, apache, www on Jun 23rd, 2008
最近在玩這套 Web 的 Load Balance 軟體,其實這是之前我寫的一篇:[筆記] FreeBSD 一張網卡多重 ip 實現 Round Robin DNS Load Balancing,有網友留言給我說可以玩看看 HAProxy,這樣的確改善了很多效能,而且也是正確達到 load balance 的效果,不然用 DNS Robin DNS Load Balancing 的方式的卻沒辦法做的很好,關於 HAProxy 在 google 了一下,好像國內很少人在寫這方面的教學,我自己來寫一下筆記好了,其實我還不是對設定很熟悉,只是大概知道他的原理罷了,底下我們來看看官網的一張圖
Read Full Post »
Posted in FreeBSD, Linux on Jun 21st, 2008
最近在使用 FreeBSD 架站,apache + MySQL + PHP,但是最近常常會吐出來 swap 不夠的情形,然後系統就會吐出下面訊息
Jun 19 20:59:57 backup kernel: swap_pager_getswapspace(7): failed
Jun 19 20:59:57 backup kernel: swap_pager_getswapspace(16): failed
Jun 19 20:59:57 backup kernel: swap_pager_getswapspace(2): failed
Jun 19 20:59:57 backup kernel: swap_pager_getswapspace(5): failed
目前上網看到的解決方法,都是增加 swap 的容量,那底下是在 FreeBSD 下面得作法:
Read Full Post »
Posted in FreeBSD, Linux, php, www on Jun 5th, 2008
最近在維護自己的機器,發現網站每秒 request 只要10幾次就會感覺吃很多資源,然後莫名 CPU 飆高到100%,後來只好去找怎麼去 tuning Apache,MySQL,PHP,至於改善 apache 跟 MySQL 我先不講了,我之後會在寫,我先處理了加速 PHP 的部份,我是安裝了 APC(Alternative PHP Cache),來改善執行 PHP 的速度,這個程式必須先安裝好 PECL(PHP Extension Community Library),再來安裝 APC 就沒問題了。
1. 首先安裝 APC
#
# 先切換到該軟體下面
#
cd /usr/ports/www/pecl-APC/; make install clean
Read Full Post »
Posted in DNS, FreeBSD, Linux, www on Jun 1st, 2008
來紀錄一下好了,其實這兩年前,我自己就試過了,當時在弄 web 系統 Load Balancing,因為找不到更好的方法,所以使用 Round Robin DNS Load Balancing 技術來達到這功能,可是當然這不是很準確的做到 load balance,只是能解決暫時性的問題,真正要做到 Load Balancing 可能要靠硬體的技術了。
我自己是在 FreeBSD 系統上面實做的,當然弄 Load Balancing 一定要在網卡上面綁定多重ip,Linux 作法跟 FreeBSD 不大相同
#
# Linux 作法
#
ifconfig eth0:0 inet xxx.xxx.xxx.xx(1~9) netmask 255.255.255.0 broadcast xxx.xxx.xxx.255
#
# FreeBSD 作法
#
# /etc/rc.conf - add a new IP address to the NIC
# 在 rc.conf 加入底下 entry
ifconfig_rl0_alias0="192.168.0.57 netmask 0xffffffff"
#
# 指令
#
ifconfig rl0 alias [...]
Read Full Post »
Posted in FreeBSD, Linux on May 28th, 2008
我們在 Linux 或者是 FreeBSD 底下如何建立連結檔(Symbolic Link) ,也就是在 Windows 底下的捷徑啦,這個在鳥哥的網站都有寫的很清楚:連結檔的介紹: ln,最重要搞清楚 hard link 跟 soft link 就可以了,簡單來說,hard link 只可以針對檔案,不可以對目錄,但是 soft link 就是可以對目錄了,因為她就像 Windows 底下的捷徑,那在 Linux 底下,大家常常在玩 FTP,一定會碰到需要利用 Link 的方式,但是如果你利用 ln 的方式的話,連接ftp,會沒辦法回到上一層目錄,就是有 chroot 的問題,那底下是我發現可以解決的方法,其實這算是月經題了,只是我想記錄下來。
在 Linux 底下,就是利用 mount 的指令:
#
# 就是利用 mount --bind
#
mount --bind olddir newdir
在 FreeBSD 底下,利用 mount_nulls 指令
#
# mount_nullfs olddir newdir
#
mount_nullfs olddir newdir
很簡單吧,大概是這樣,FTP 就不會出現不能回到上一層目錄的問題了
Read Full Post »