PHP無痛升級

PHP其實滿久才更新一次的,這次的5.3.9是因為安全性的修正(Hash計算引起的DDoS攻擊),詳細可以參考官網的更新紀錄,但對手動鞭譯的人還滿討厭的,因為都已經上線運作了還得暫停來搞,我的想法是儘速更新完就好了,畢竟買便宜的VPS沒太多資源搞雙機運作還啥的方案,乾脆早死早超生~ 趕快弄一弄就好了。 :er

Step.1:停止相關服務來下載新版PHP安裝並備份原設定檔

/etc/init.d/mysql stop
/etc/init.d/nginx stop
/etc/init.d/php-fpm stop
cp /usr/local/php/etc/php.ini /usr/local/php.ini.bak
cp /usr/local/php/etc/php-fpm.conf /usr/local/php-fpm.conf.bak
rm -rf /usr/local/php

… 閱讀完整文章→

NGiNX 502 Bad Gateway 自動重啟腳本

NGiNX為何會502呢~ 大多都是PHP-FPM死蹺翹了,我在AceLNMP那篇文章中也有講解過該如何調教負載能力,機器配備不錯的,設定參數當然設高一點才能撐的住,但我最近碰到了鬼打牆現象 :kao 某台機器的PHP升級到5.3.8之後偶而會掛掉,而且還連NGiNX一起掛,設定檔卻又都沒問題,同樣的設定檔在一堆機器上跑都沒出什麼包,系統也大同小異,挖哩咧!所以只好摸摸鼻子多放一包乖乖了... :er

好啦~ 總之就弄個自動監測的SHELL吧 :|

vi /root/nginx-502-restart.sh

CODE:
  1. #!/bin/bash
  2. export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/local/bin:$HOME/bin:$HOME
  3. ############### 你要修改的地方從這裡開始 ###############
  4. # 本機的網址
  5. URL=http://520.be/
  6. # NGiNX程式的路徑
  7. NGiNX=/usr/local/nginx/sbin/nginx
  8. ############### 你要修改的地方從這裡結束 ###############
  9.  
  10. if [ -e /var/lock/subsys/502 ]
  11. then
  12.     killall -9 curl 2>/dev/null
  13.     killall -9 php-fpm 2>/dev/null
  14.     service php-fpm start>/dev/null
  15.     $NGiNX -s reopen
  16. else
  17.     touch /var/lock/subsys/502
  18.     if [ `curl --connect-timeout 5 -I $URL 2>/dev/null | grep '502 Bad Gateway' -c` != '0' ]
  19.     then
  20.         killall -9 php-fpm 2>/dev/null
  21.         service php-fpm restart>/dev/null
  22.         $NGiNX -s reopen
  23.     fi
  24.     rm -f /var/lock/subsys/502
  25. fi

然後把他交給最勤奮滴CRONTAB兄弟去自動每5分鐘檢查一次有沒有出怪手,有的話就重新啟動NGiNX跟PHP-FPM :pu

chmod +x /root/nginx-502-restart.sh
crontab -e

新增以下這行就可以收工啦~ ({)
*/5 * * * * /root/nginx-502-restart.sh > /dev/null 2>&1

YUM方式安裝LNMP

剛剛發現有位老俄真的實在太佛心來著的 :O 居然打包好LNMP所需的元件,安裝起來真是方便又快速來著的了,我還寫啥鬼腳本了油幹嗎,真想親他一下啊!! (K) 這位老俄真的是太好心了啦! (Y) 而且他還打包了非常非常多的東西唷! 有興趣的可以看看~

http://centos.alt.ru/?p=120 < < 佛心老俄的部落格,請用咕狗翻譯機,免得霧煞煞

http://centos.alt.ru/pub/

http://centos.alt.ru/pub/repository/centos/5/

用法很簡單,先建立一個repo餵給YUM用vi /etc/yum.repos.d/CentALT.repo,內容如下:

... 閱讀完整文章→

vnStat – 小巧的流量監控程式

Free Image Hosting at www.ImageShack.usFree Image Hosting at www.ImageShack.us

呼~ 忙完了,希望事情做完又可以悠閒1~2天啦! 今晚順手找了幾個流量監控程式,翻來翻去找到vnStat是一個短小精幹的流量監控程式,安裝起來比MRTG或RRDTool簡單多了,也能達成監控、分析整個流量輸入/輸出,以下簡單介紹一下安裝過程。 :D

... 閱讀完整文章→

CORESERVER.JP/XREA.COM 正確的關閉安全模式方法

Google出來一堆對岸的文章,照著做都不成功! 試了好久終於搞定~ :-#

新增一個.htaccess或是編輯原本的.htaccess裡面增加一段

AddHandler application/x-httpd-phpcgi .php

然後把自訂的php.ini跟.htaccess跟放在同一個目錄就可以了,而不是什麼php.ini放在根目錄,.htaccess放在public_html :@ 雖然這時候PHP運行方式是變成CGI,但重要的參數也不要設得太誇張就好了。

我的php.ini,有開啟ImageMagick、Zend Optimizer

FlyUpload
TinyUpload

... 閱讀完整文章→

AceLNMP 2.2

********** 檔案簡介 **********

AceLNMP是一個基於CentOS系統的自動安裝Shell Script,主要都是以各軟體官方釋出最新的穩定版本為主,目前主要軟體的版本為NGiNX 1.0.14、MySQL 5.0.95、PHP 5.3.9。

什麼是LNMP? 就是Linux + NGiNX + MySQL + PHP的一個網站開發環境,本檔案僅適合於紅帽或Fedora(好像是廢話)或CentOS系列的Linux,其他Linux系統請參考acelnmp.sh的內容分別安裝軟體。 :D

其他Debian、Gentoo、Slackware、Ubuntu之類的當然也很牛,不過我比較習慣玩帽子,而VPS的主機商大多提供的都會有CentOS,有興趣學習CentOS的先看看維基的介紹:$ 對於Linux新手,鳥哥的Linux私房菜是個入門的好選擇。 (Y)

*********更新歷史*********

2009/10/28 - 開始研究自動安裝腳本
2009/11/01 - 成功安裝在Yourwebhoster.eu的OpenVZ規格 VPS
2009/11/11 - 成功安裝在RapidVPS.com的XEN規格VPS
2009/11/12 - 成功安裝在1xen.co.uk的XEN規格VPS
2009/11/14 - 成功安裝在HostingInside.com的OpenVZ規格VPS
2009/11/15 - 公佈AceLNMP 1.0
2009/11/16 - 成功安裝在servainet.com的XEN規格VPS
2009/11/17 - 新增安裝ZendOptimizer的安裝方法
2009/11/25 - NGiNX更新到0.7.64
2009/12/03 - phpMyAdmin更新到3.2.4
2009/12/15 - MySQL更新到5.1.41
2010/09/21 - 更新AceLNMP 1.5(更新一大堆 :kao )
2010/10/15 - MySQL更新到5.1.51(修正5.1.50版的DDOS疑慮)
2010/11/09 - 更新粉多~ MySQL更新到5.1.52、NGiNX更新到0.8.53、PHP更新到5.3.3、phpMyAdmin更新到3.3.8
2010/11/10 - 修正幾個ln錯誤的連結
2011/10/20 - 久久想到的大更新,MySQL返老還童用回5.0.92,別揍我! (H)
2011/11/09 - 修正2個安裝問題,更新phpMyadmin 3.4.7。
2012/04/05 - 更新一大堆。

... 閱讀完整文章→