【系統升級】b2evolution from 1.8.2 to 1.10-beta

由於日前造成虛擬主機廠商 ServerZoo 的主機負載過重,除了作一些防範的措施外(在此也感謝 ServerZoo 的技術人員,他們一直在協助我作追蹤處理,甚至還幫我移轉主機),藉這個機會也順便升級一下我的 Blog 系統,除了新增一些功能外,當然最希望的是能讓系統更穩、能擋掉更多的 Spam。

應該有一年沒有升級了吧,到了 b2evolution 的官方網站,看到才剛釋出的 1.10-beta, 代號為 “Miami” 的最新版本。雖然是 beta 版本,但據官方的文件說明,是建立在 1.9.2 最穩定的核心基礎上。我的習慣一向都是使用最新的套件,所以直接 Download 回來準備作系統升級。

b2 的系統升級大概就是只有一種方法:資料庫保存不動,把網站目錄全砍掉,解壓縮下載最新的版本至網站目錄,執行 /install/install.php ,升級! (作這些動作之前,當然要記得全備份下來)

這樣步驟的主要目的是變更資料庫的 Table Schema,但是原來有修改過,如 CSS, Skin, Main 主頁等怎麼辦? 沒有任何方法,就是一個個的比對(可以使用如 WinMerge 的比對工具),修改,或者直接 Copy 原修改的檔案覆蓋掉新系統的檔案(若是 CSS, Skin 等這沒問題,但最好不要覆蓋 core 的核心檔案)。

升級完畢後,耶,中文出現亂碼!! 查了一些資料,有位「工頭的家」,他寫了好多關於 b2evolution 的技巧,真不錯。參考了一篇:「完全解決 b2evolution 1.86 版及 1.9.1版的中文亂碼問題」,要將 _locales.php 修改其編碼為 utf-8。我也照作了,但是亂碼問題仍存在,怪異的是,只有內文有問題,右側邊與標題等中文顯示都沒問題。讓我 Try 了許久,總算發現到,原來執行資料庫升級時,b2evolution 新增其中一個 Table: evo_item__prerendering ,預設的編碼為 latin1、而校對(collation)也是 latin_swedish_ci。這不行,對中文的輸出入會有問題,所以利用 phpmyadmin 修改編碼為 utf8, 校對改為 utf8_general_ci,記得,連 Column 內預設的也要改,參考下圖。

serverzoo_b2evolution_table_schema

到此階段,總算中文顯示完全正常了,系統升級也到此告一段落。

不過,升級後, ServerZoo 又來信說,CPU 負載仍過重,吼~ 看來要與 Spammer or Hacker 還要奮戰一些時候了。 >:XX

擋掉搜尋引擎機器人的方法

剛在網路爬文,發現到,影響主機負載過重與頻寬傳輸量最有可能的原因就是 Robots 機器人作祟,而其中又以 百度(Baidu) Spider 為最。再看看我的 Blog 系統的管理畫面,其中在 User-agents 方面,還真的百度就給我佔據了 96% 之多!

b2evolution_user_agents_20070515

既然也有眾多網站的站長們對 百度 Spider 沒有好感,我想乾脆就先把它給關掉,禁止該機器人搜尋本站。關掉的方法有兩種:

  1. 在網站根目錄上新增 robots.txt
  2. 在網站根目錄的 .htaccess 直接 deny 掉

第一種方法,是國際通用的,禮貌上,凡是 Robots 看到 robots.txt 的內容有擋掉它的 User-agens,那麼它會跳過不搜尋;不過又有網友說 google, yahoo 等可以,但是百度好像不理會? robots.txt 內容如下:(以文書編輯器新增以下內容後上傳至網站根目錄即可)

User-agent: baiduspider
Disallow: /

若是第一種方法無效,則採取第二種方法,直接在根目錄下的 .htaccess 編輯新增內容如下:

#
SetEnvIf User-Agent ^Baidu baidu
Deny from env=baidu

我先用第一種方法看看,若還是造成負載與頻寬過重,則直接就在 .htaccess 把它給擋掉。至於利用 IP Ban 掉,可能不是一個好方法,因為百度的搜尋引擎的 IP address 似乎不是固定的。

※ 延伸參考:
o 禁止搜索引擎收錄的方法(百度幫助中心)
o 擋掉 Baidu Spider
o 【轉貼】建議大家把百度搜尋機器人封鎖,免得浪費頻寬和流量

我的 Blog 系統造成虛擬主機的負載過重!

從上星期三開始,收到 ServerZoo 寄來的緊急通知信,說道我的 Blog 系統造成他們主機 CPU 的負載過重,已經超過整台主機 CPU 的 50% Loading,所以給我緊急關站。

我這一年來在虛擬主機商(已換過三家)的 Blog 還真是不安穩,要嘛太慢、要嘛夠貴(頻寬傳輸嚇人),現在又搞出這問題,我也莫名其妙。原來技術人員是懷疑我的 RSS 一直被大量呼叫,所以我也把 RSS, Trackback 先給關閉,但是問題仍存在,星期六晚上,ServerZoo 的技術人員可真勤勞(例假日他們沒有客服),晚上又給我緊急給關站了,然後 Email 傳給我這個畫面,CPU 負荷仍超過 27% !

serverzoo_system_monitor

連續幾次的關站,讓我實在有些不高興,而且並沒有具體找出真正的原因何在。這讓我在昨日(星期一)下午時與在 msn 的 ServerZoo 客服人員抗議,ServerZoo 的客服態度,一般還算不錯,並不會不客氣,表現得不卑不亢,他建議我更新 Blog 系統,第一時間我是覺得,b2evolution 的系統應該夠穩定的吧,我所使用的 1.8.2 系統也是在過外眾多部落客一直在使用的,在官方網站的討論區也沒看到有誰反應類似的問題。我還是希望 ServerZoo 能給我一個 “清楚的交代”,具體的指明問題在那,乾脆就直接打電話給他們(客服單位位於台中)。接電話的客服人員蠻客氣,也蠻有技術的底子,與他討論許久,他是說可以從我的 Log 檔看得到有些 IP 在同一時間一直存取某一個網頁,大概是這個樣子:

122.124.34.74 - - [15/May/2007:01:27:30 +0800] "GET /media/normal_chinese_solution_button.jpg HTTP/1.1" 304 - "http://www.kenming.idv.tw/index.php?title=a_cc_u_planplus_eb_a_e_peu_c_leiuc_a_a_a&more=1&c=1&tb=1&pb=1" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
122.124.34.74 - - [15/May/2007:01:27:31 +0800] "GET /media/thumb_weekly_planning_01.jpg HTTP/1.1" 200 38584 "http://www.kenming.idv.tw/index.php?title=a_cc_u_planplus_eb_a_e_peu_c_leiuc_a_a_a&more=1&c=1&tb=1&pb=1" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
122.124.34.74 - - [15/May/2007:01:27:32 +0800] "GET /media/thumb_weekly_planning_02.jpg HTTP/1.1" 200 32643 "http://www.kenming.idv.tw/index.php?title=a_cc_u_planplus_eb_a_e_peu_c_leiuc_a_a_a&more=1&c=1&tb=1&pb=1" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
122.124.34.74 - - [15/May/2007:01:27:32 +0800] "GET /rsc/css/basic.css HTTP/1.1" 304 - "http://www.kenming.idv.tw/index.php?title=a_cc_u_planplus_eb_a_e_peu_c_leiuc_a_a_a&more=1&c=1&tb=1&pb=1" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
122.124.34.74 - - [15/May/2007:01:27:32 +0800] "GET /rsc/css/img.css HTTP/1.1" 304 - "http://www.kenming.idv.tw/index.php?title=a_cc_u_planplus_eb_a_e_peu_c_leiuc_a_a_a&more=1&c=1&tb=1&pb=1" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
122.124.34.74 - - [15/May/2007:01:27:32 +0800] "GET /index.php?title=a_cc_u_planplus_eb_a_e_peu_c_leiuc_a_a_a&more=1&c=1&tb=1&pb=1 HTTP/1.1" 200 87451 "http://tw.search.yahoo.com/search?p=%E6%99%82%E9%96%93%E7%AE%A1%E7%90%86&ei=UTF-8&fr=yfp&vst=0&vs=www.kenming.idv.tw" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
122.124.34.74 - - [15/May/2007:01:27:32 +0800] "GET /rsc/css/blog_elements.css HTTP/1.1" 304 - "http://www.kenming.idv.tw/index.php?title=a_cc_u_planplus_eb_a_e_peu_c_leiuc_a_a_a&more=1&c=1&tb=1&pb=1" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"

同一個 IP 在幾乎同一個時間點存取了 20 餘次,這應該就是造成 CPU 負載過重的原因! 我用 IP 反查詢,發現到有些 IP 位址有位於香港,也有位於澳洲的,但是我不知道那是否是 搜尋引擎的 Spider Robot 造成的?

乾脆,昨晚我把 Blog 系統換成最新的 1.10-beta “Miami” 的版本,更新的過程不是那麼順利,花了我三個多小時才完成。我會把更新過程一些注意事項寫在【建站日誌】記錄下來的。當然,更希望造成 CPU 負載過重的原因能因此而解決。

是否有經驗的網路系統技術的讀者們,還是也曾有過這種經驗的 Blog 友站站長,可否協助判斷,真正的問題會是出在那裡呢? (ServerZoo 把我的站台關閉後,CPU 負載從 50% 降到 0.~ %,確定是我的 Blog 系統出了問題(正常不應該有此情形),而不是 “人氣” 太高所造成的)

解決本站中文顯示亂碼時的瀏覽器設定方式~

今天收到 yungyuc 的留言,告知使用某些瀏覽器瀏覽本站時,中文都會變成亂碼…
>您這個系統kmr xiy 用 Firefox 和 Seamonkey 看 (Windows/Linux 皆然),中文都會變成亂碼。IE 和 Opera 正常 (僅測試 Windows)。

其實這問題出現蠻久了,我的朋友在美國,即使使用 IE(英文版本) 瀏覽我的站台時,也是無法正確顯示中文,也有是網友反應,使用 Firefox 會出現亂碼,但在 Windows 系統下使用 IE 卻沒有問題... 一直都找不出問題的癥結在那裡,後來是本站的一位讀者給了解決方案(實在感謝他!)。不過,我仍不知原理到底為何? (我的 Blog 系統係為 utf-8 的正體中文編碼方式。)

先列出如何讓各種瀏覽器均可以正確顯示中文的設定方式:

  1. 打開 IE 瀏覽器,在選單中,選擇【工具】【網際網路選項】【一般】。
  2. 在最下列選項中,選擇【語言】,出現【語言喜好設定】對話框。
  3. 選擇【新增】,選擇語言為 zh-tw (中文(台灣))。
  4. 其它瀏覽器亦比照如同之設定方式,也就是一定要新增 “zh-tw” 語言,如此才會送出 Accept-Language:tw,而顯示正確的中文(utf-8)編碼。

正確顯示本站中文編碼的瀏覽器設定方式~

【站台資訊】新增「防堵 Spammer」的迴響驗證

這幾個月來,我的部落格被 Spammer 攻擊得實在厲害! >:( 就是有一大堆無聊的 Spammer 會在你的部落格留下一大堆的垃圾迴響,幾天要不清,大概就有上百封,不勝其擾。

b2evolution 是有一套 plugin: captcha ,可以利用部落客讀者需要輸入影像內的數字來達成驗證的機制,這也是大部分部落格系統所使用的一種技術。不過個人是嫌影像內的數字不清楚、不簡潔,而且好像也蠻佔系統資源的…

最近倒是出了一個不錯的 plugin: Turing Test,簡潔不複雜,只要使用者直接輸入系統提示你的答案即可。

在我的部落格中,目前我只需要讀者迴響時,輸入個驗證字串: “bobo”,就是雙引號內的字串,4個字元就可以了,夠簡單了吧(當然,爾後驗證字串還是會不定期的修改,只要看問題所提示的答案就可以了)。

【站台公告】移轉至 ServerZoo

原來在 5NET 的虛擬主機,因為成本的考量(差了好幾倍),現在移轉(migrate)至 ServerZoo 主機動物園內。

由於 ServerZoo 的主機頻寬是放在國外,本有些擔心連線速度的問題,後來看到眾多租借該主機廠商的站台們的口碑,好像還不錯,所以也就放心給租用一年下來了。

站台轉移後,若有連線速度或其它一些的問題,煩請讀者們可以留個言或建議。也在此恭祝各位朋友新年快樂!!

軟體思維顧問

專職軟體輔導與教育訓練的獨立顧問。輔導企業資訊單位如何有效組織系統開發與維護;輔導開發人員達成有效的專業分工。傳授如何把軟體作軟 (Keeping Software Soft)的技能,得以提昇系統的彈性/延展,並進而創造系統的再利用價值。

Personal