[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]

[FreeBSD]解決swap不夠的情況:Add Swap Space

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

[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 一張網卡多重 ip 實現 Round Robin DNS Load Balancing

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

[WordPress] Upgrade 2.2.x to 2.5 無痛升級法 For Linux or FreeBSD

今天終於決定升級 wordpress 的版本了,之前剛安裝好,都沒有時間去升級,剛剛去升級一下,發現其實步驟不會很複雜,所以一下子都弄好了,除非你的外掛很多,不然升級一定還蠻快的,我最後花的時間幾乎都是在升級 wordpress plugin,當然我是先去測試我的另一個生活部落格:life.wu-boy.com,目前看起來是沒有什麼問題,所以待會會來生及其他的 wordpress blog,底下來操作一遍吧 步驟一:備份資料庫,可以參考這篇 [Mysql] 資料庫備份[big5]utf8轉換成utf-8

#
# 備份方式
#
mysqldump -u root -p database_name > db_backup_name.sql
[Read More]

[SSHFS] 好用的 SSH Filesystem fusefs-sshfs in FreeBSD or Linux

今天在 ptt Linux 連線版文章看到有人問說,如何傳一檔案到其他的 linux 機器,有人推了一個軟體,我覺得相當不錯,就拿來玩看看了,這軟體就是 sshfs 這是一套可以直接掛載遠端機器目錄的軟體,走 ssh 協定,剛剛安裝了一下,發覺還蠻好用的,我在 LinuxFreeBSD 上面都安裝好了,來紀錄一下步驟。 首先是安裝步驟 For FreeBSD,直接利用 ports 安裝即可:

#
# ports 安裝
#
# Port:   fusefs-sshfs-1.8
# Path:   /usr/ports/sysutils/fusefs-sshfs
# Info:   Mount remote directories over ssh
# Maint:  amistry@am-productions.biz
# pkg-config-0.22_1
# WWW:    http://sourceforge.net/projects/fuse/

cd /usr/ports/sysutils/fusefs-sshfs; make install clean
[Read More]

[FreeBSD] 利用 perl and shell script 大量建制帳號及 Quota

最近幫繫上處理 FreeBSD 機器,要碰到大量建制帳號跟 quota,所以上網找了一下教學,網路上就很多教學了,只不過要懂一些 perlshell script 的基本觀念,在弄起來會比較方便,時間也會縮短許多。 首先開帳號的話,就是利用 pw 這個指令了,這個裡指令非常強大,可以新增使用者,或者是修改使用者的特性,如登入的 shell,comment….等等 先產生一個 passwd.txt 裡面內容格式就是 “帳號,密碼”,這樣的格式

biomat,"xxxx"
biomed,"xxxx"
surface,"xxxx"
tissue,"xxxx"
然後在寫一個 shell 檔去把它讀進來,shell 檔如下: [Read More]