[FreeBSD]解決 lighttpd log Permission denied 問題
今天早上伺服器 lighttpd 沒有跑起來,發現是因為沒有寫入 lighttpd.access.log 的權限,所以造成不能啟動
[Read More]2008-07-04 08:37:15: (mod_accesslog.c.535) opening access-log failed: Permission denied /var/log/lighttpd/lighttpd.access.log 目前的解法大概就是不能去改 /var/log 這個資料夾權限,所以我在 /var/log 底下新增 lighttpd 這個資料夾
[FreeBSD]Lighttpd + php5 + 解決 wordpress Permalinks mod_write
今天轉換跑道了,最近玩 Apache 玩的很不順,因為只要線上人數一多,就會吃很多記憶體,導致必須重新開 Apache,所以今天來玩看看 lighttpd試試看,看看結果如何,其實轉換到 lighttpd 需要注意很多事情,那就是 Lighttpd 並不支援 .htaccess 檔案,所以 mode_rewrite 功能要設定到 Lighttpd.conf 裡面,然後也去找看看 Lighttpd 的 virtual host 的寫法,然後還有一點就是 wordpress 的 Permalinks 的問題,算是今天都解決了,底下來寫一下作法:
[Read More][FreeBSD]Apache 噴出 signal Segmentation fault (11)
最近在玩 FreeBSD 伺服器的加強效能,其實我自己試了很多套:eAccelerator,Pear APC,跟 Zend Optimizer,這三套都是可以加速php的速度,當你的 apache 效能遇到瓶頸,就可以選用這三個來改善網頁瀏覽速度,不過應該沒有人三個都用吧,畢竟三個東西,感覺都是cache幫助,所以達成我們所想要的要求,有時候並不是全部安裝就是代表你的伺服器一定會超快,因為我的經驗是三個不能同時裝,只要裝了兩個都會出問題,這是我這幾天測試的結果,只要裝了Pear APC,就不能裝Zend Optimizer跟eAccelerator了,因為我的 httpd 的 log 會噴出底下訊息:
[Read More]signal Segmentation fault (11) 跟 pid 15879 (httpd), uid 80: exited on signal 11
[FreeBSD & Linux]網站分流:簡易架設 HAProxy 伺服器
最近在玩這套 Web 的 Load Balance 軟體,其實這是之前我寫的一篇:[筆記] FreeBSD 一張網卡多重 ip 實現 Round Robin DNS Load Balancing,有網友留言給我說可以玩看看 HAProxy,這樣的確改善了很多效能,而且也是正確達到 load balance 的效果,不然用 DNS Robin DNS Load Balancing 的方式的卻沒辦法做的很好,關於 HAProxy 在 google 了一下,好像國內很少人在寫這方面的教學,我自己來寫一下筆記好了,其實我還不是對設定很熟悉,只是大概知道他的原理罷了,底下我們來看看官網的一張圖
[FreeBSD]解決swap不夠的情況:Add Swap Space
最近在使用 FreeBSD 架站,apache + MySQL + PHP,但是最近常常會吐出來 swap 不夠的情形,然後系統就會吐出下面訊息
[Read More]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 下面得作法:
基本優化 tuning apache 跟 tuning mysql 跟 php 效能
最近在玩優化 Apache 跟 MySQL 部份,然後就在 google 上面找一些資料,當然對我自己的網站當然改變不少,速度有增快許多,所以來紀錄一下,其實都是還蠻基本的改 config 檔案就可以了 1. apache 部份 for FreeBSD
# # 利用 ports 安裝 # 在安裝 Apache 時,加入此參數 WITH_MPM=XXXX 即可。 # cd /usr/ports/www/apache22 ; make WITH_MPM=worker install clean如果是要裝在 Linux 機器的話,可能要自己編譯,在 Apache 2.0 有很多效能上得改變,所以原本預設是 prefork
# # 編譯加上 # ./configure --with-mpm=worker在 Ubuntu 底下作法很奇怪,利用 apt-get 方式不能安裝 mpm worker,因為你安裝 php 的時候他會幫你移除,然後裝上 prefork,所以很奇怪,這部份我還不知道怎麼解決。 [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 就不會出現不能回到上一層目錄的問題了