Feed on
Posts
Comments

今天把 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 »

之前幫學校轉移校內碩博士論文系統,學校是用 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 »

剛剛看到 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 »

最近一直在玩 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 »

最近在玩 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 »

最近在玩這套 Web 的 Load Balance 軟體,其實這是之前我寫的一篇:[筆記] FreeBSD 一張網卡多重 ip 實現 Round Robin DNS Load Balancing,有網友留言給我說可以玩看看 HAProxy,這樣的確改善了很多效能,而且也是正確達到 load balance 的效果,不然用 DNS Robin DNS Load Balancing 的方式的卻沒辦法做的很好,關於 HAProxy 在 google 了一下,好像國內很少人在寫這方面的教學,我自己來寫一下筆記好了,其實我還不是對設定很熟悉,只是大概知道他的原理罷了,底下我們來看看官網的一張圖

Read Full Post »

最近在使用 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 »

最近在維護自己的機器,發現網站每秒 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 »

來紀錄一下好了,其實這兩年前,我自己就試過了,當時在弄 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 »

我們在 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 »

Next »