[Linux] CentOS 5.1 安裝 Lighttpd + PHP5 + FastCgi + eaccelerator

昨天網站無緣無故被擋掉,原因是我的流量網站太大,囧,因為是架設 web site,測試一下效能,我發現 =http://httpd.apache.orgapache[/url] 沒辦法撐住流量跟線上人數,所以只好換成 =http://www.lighttpd.netLighttpd[/url] 發現效果不錯,所以又去安裝了 CentOS 版本,我是去參考底下這篇:Installing Lighttpd With PHP5 And MySQL Support On CentOS 5.0,這一篇我覺得寫的還ok,但是因為 Centos 如果你想用 yum 安裝 =http://www.lighttpd.netLighttpd[/url] 就要先裝 rpmforge-release package 這個東西,這樣才可以找到。 首先先看你的版本再來抓:

RHEL5 / CentOS-5 i386: http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm x86_64: http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm RHEL4 / CentOS-4 i386: http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el4.rf.i386.rpm x86_64: http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el4.rf.x86_64.rpm RHEL3 / CentOS-3 i386: http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el3.rf.i386.rpm x86_64: http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el3.rf.x86_64.rpm RHEL2.1 / CentOS-2 i386: http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el2.rf.i386.rpm

[Read More]

[FreeBSD] Lighttpd + PHP + mod_proxy + FastCGI

最近一直在玩 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 seconds. If this a problem increase server.max-write-idle

[Read More]

[FreeBSD]Apache 噴出 signal Segmentation fault (11)

最近在玩 FreeBSD 伺服器的加強效能,其實我自己試了很多套:eAcceleratorPear 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 More]

[FreeBSD & Linux]網站分流:簡易架設 HAProxy 伺服器

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

[Read More]

[教學]修復 Windows 的開機磁區各種方法

如何恢復 Windows 開機磁區,我想這是玩 Linux 跟 Windows 多重作業系統會碰到的問題之一,也是大家最頭痛的問題,當然其實方法很解決,沒有想像的那麼困難啦,只是大家安裝完 Linux 之後,然後砍掉他們的磁區,就會造成開機 boot loader 讀不到資料,所以造成 grub 的錯誤,那可以參考鳥哥那邊的作法,當然首先要瞭解:磁碟檔案系統,然後再去瞭解 Boot Loader: Grub,當然本篇試教您如和清除開機MBR,恢復 windows 系統的 boot loader。 方法一:利用XP光碟片還原 放進去XP的原版光碟,隨便一種XP光碟即可,只要能原始安裝即可,畫面中按 R 或 F10 進入「Windows 修復主控台」,當然進去之後,她會偵測到目前的系統 C:\windows 之類的,她會詢問密碼,就直接按 enter 即可,然後打入 fixmbr 然後按 Y 確定就可以了

[Read More]

[Linux筆記]如何製作多重開機 grub

昨天晚上原本要看 paper 的,可是幫同學處理安裝好 Fedora 7 的時候出現底下問題:

Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename grub> 其實我自己也不知道安裝好為啥會出現這個,電腦裡面三顆硬碟,兩顆 SATA 一顆 IDE,然後用光碟開機的時候分別是 sda sdb sdc 三顆,所以安裝好之後通常會把 sda mbr 寫入開機訊息,照道理說這樣就可以開機了,可是目前看來是不行,後來是重新安裝了 mbr 我把她安裝到 IDE 那顆硬碟,底下先轉貼開機 mbr 磁區介紹:

在硬碟最最最開始的磁區叫MBR(Master Boot Record),這是MicroSoft的正式稱呼! 有些人叫它Pre-Boot磁區或Pre-Load磁區. MBR (512 bytes)can be divided into 3 parts: (1) 前面446bytes為開機程式(即Pre-Boot程式),實際只用約200bytes (2) 接著的64bytes就是partition table,每16bytes代表一個logical HD (3) 最後2bytes一定是 55 AA (十六進位) FDISK/MBR 就是把前面446 bytes 換成乾淨的Pre-Boot 程式! 它絕不會動後面的66bytes!!! mbr位於硬碟第0軌,長度為512位元組內含偵測active partition的程式及 長64位元組的partition table(16 bytes * 4 partition records) 每一partition record紀錄partition的起始位置,是否active及os type 從這裡決定要用哪一個partition開機(active partition) 文章轉錄自: http://www.pczone.com.tw/vbb3/archive/t-20579.html

[Read More]
grub  Linux  MBR 

[FreeBSD] 安裝 PHP APC 加速網頁速度

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

[FreeBSD&Linux] 如何用 mount 取代 ln 去實現連結檔(Symbolic Link)

我們在 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 就不會出現不能回到上一層目錄的問題了

[Linux&FreeBSD] 備份系統資料,MySQL 資料庫,PgSQL 資料庫的自動化 bash shell script 程式

來分享一個自己寫的 bash shell script,本身管理系上一些伺服器,但是要每天備份資料庫,系統檔案,以防系統整個 crash 掉,但是這個 script 可以對單一一台電腦做備份動作,當然裡面還可以加上 rsync 的動作,遠端備份到不同機器上面,我覺得這樣也可以,我在 Sayay BBS 上面的 ghost 大大版上看到 [Backup] Amanda,這套看起來不錯,可是一直沒有時間去玩,她網站的架構圖如下: chart-amanda-network (by appleboy46) http://amanda.zmanda.com/ 上面這個我還沒玩過,最近沒啥時間可以玩,不過大家可以去試試看,我目前還是用我自己寫的 script,那下面就是大概會介紹怎麼使用我的 bash script,非常簡單,很適合個人 linux 主機的備份喔。

[Read More]

[Linux筆記] 利用 mount 指令解決 Read-only file system 問題

之前幫別人處理機器的時候,發生這個問題,如果你針對 / 根目錄做寫入動作,她就會出現 Read-only file system,所以我去 google 到一篇文章:如何讓file system 變成可以write, 而不是read only,這篇的解法就還蠻簡單的,就是只要下指令就可以了。

1
2
3
4
#
# 讓 root file system 可以寫入
#
mount -o remount,rw /

這樣大概就解決問題,至於為甚麼會發生這個問題,這其實我不太知道,哈哈。