Archive for the ‘網站’ category

Autostart script for TurboGears2

九月 20th, 2009

When I complete a TurboGears2 application, I got a problem, how to keep my tg2 application always running on Webfaction? You know, there is scheduled downtime of virtul host. Therefore, if you just run 『paster serve –daemon production.ini』, once the machine down, your application is down, too. So you have to find a way to keep your tg2 application up. I can use crontab to check tg2 application every 5 minutes, but during the just-start-up 5 minutes, your application is not working, so it is not a good idea. I notice Webfaction use a autostart CGI script for TurboGears1 application. So I decide to use that autostart CGI script to run my tg2 application. You might ask, what is autostart and how it works? Autostart script is a simple script to keep your web application up. It is executed when mod_rewrite of apache can’t connect to your server. By using autostart script, the application runs on-demand! If there are no users browse your application, it’s no need to run your application, that saves your memory usage.

However, the autostart Webfaction provided is for tg1, so I modify it for tg2, here is the modified version of autostart:

<![CDATA[
#!/bin/env python2.4
import os
 
# Test if the process is already running
running = False
# read status of tg2 application
lines = os.popen(
    'source /home/victorlin/webapps/tiange/tg2env/bin/activate;'
    'cd /home/victorlin/webapps/tiange/tiange/tiange;'
    'paster serve  status production.ini').readlines()
line = lines[0]
if line.startswith('Server running in PID'):
    running = True
 
print "Content-type: text/html\r\n"
if running:
    print """<head><META HTTP-EQUIV="Refresh" CONTENT="2; URL=."></head><body>
    Site is starting ...<a href="." mce_href=".">click here<a></body>"""
else:
    print """<head><META HTTP-EQUIV="Refresh" CONTENT="2; URL=."></head><body>
    Restarting site ...<a href="." mce_href=".">click here<a></body>"""
    os.system(
        'source /home/victorlin/webapps/tiange/tg2env/bin/activate;'
        'cd /home/victorlin/webapps/tiange/tiange/tiange;'
        'paster serve  daemon production.ini')
]]>


By the way, you can also use this script for Pylons applications. I hope this simple autostart script would be helpful :D

再見了! Plone

二月 12th, 2009

終於,跟Plone說再見了,原因出在於最後一根稻草,來自主機商的自動訊息,說Plone的資料庫檔案超過500MB,需要執行清理的動作,雖然不是必要的,但是他的資料庫檔案會越來越大,我受不了了,為了Plone我已經升級了主機方案,記憶體還是超過限制,還弄了script去監視Plone記憶體使用量,定期重開,真搞不懂Plone到底是吃什麼長大的,就算不是歐落肥也是很營養的東西,當時就決定要把網站搬到其它CMS去,Joomla最近看起來蠻紅的,評估了一下就決定選擇Joomla,就在剛才處理伺服器的檔案,Plone的資料庫已經成長到了1.5GB….裡頭到底塞了什麼真令人好奇,然而我執行了清理之後只剩18MB,這之間的落差到底是從哪生出來了….Plone真的是怪獸中的怪獸,不過,早該跟這頭怪獸做個了斷

我花了一天的時間寫了一個小爬蟲爬了Plone的文章,然後用Joomla的XML RPC API傳文章上去,最後終於完成了,該是跟Plone說再見的時候了

新的Joomla!

新版的嵌入式語法測試

十一月 4th, 2008

話說

我發現很多web app都不支援iframe,應該是說為了安全問題會被慮掉,我仔細考慮了一下,就只有一張圖片,實在沒什麼必要用iframe,因此我改成用圖片,然後增加了投選項的語法,到結果其實已經不算式嵌入式了 XD

只是好像大部份大家都習慣用嵌入式這個名字來稱呼這種語法,就隨便吧 XD


前往Walele投票

我同意 麥坎
我同意 歐巴馬
我同意 洛克馬
我同意 可愛的馬

Walele: 當男生好還當女生好

十一月 4th, 2008

當男生好還當女生好

剛剛完成嵌入式語法的功能,就當作是測試,來測試一下


前往Walele投票

用SVN來開發網站的經驗

十一月 3rd, 2008

慘痛的經驗

相信很多人都有慘痛的經驗,當網站開發到了上線之後,就會發生很慘的事,每次更新完之後,就要挑出修改的檔案,送到虛擬主機上面,如果神經大條一點,剛才改了什麼忘記了,忘記上傳,你在線上的網站可能就因此漏掉什麼重要的東西,如果你傳了某個東西才發現這會出現一個嚴重的漏洞,想回復到先前的樣子,又東改西改,甚至直接修改伺服器上的版本,然而事後你卻忘記下載到你電腦上的版本,到最後所有東西都會一團糟,因為你有兩個版本要管理,一個是線上的版本,一個是你電腦中開發的版本,相信有開發網站經驗的人可能都碰過這樣的事情

閃開! 讓專業的來: SVN

» Read more: 用SVN來開發網站的經驗

哇咧咧 – 創意投票服務網站

十一月 3rd, 2008

哇咧咧

終於,用了一些零碎的時間,我把我的一個投票服務的網站寫好了! 叫做哇咧咧

http://walele.com

WaLeLe 哇咧咧 網站畫面

WaLeLe 哇咧咧 網站畫面

這是一個可以建立投票主題的服務系統,發揮大家的創意,不管是今天晚餐吃什麼,還是純脆惡搞,都可以建立來玩喔 XD

購買WebFaction網頁主機服務指導

十月 25th, 2008

比較國內和國外

每次說到國內和國外的主機商,我都想說』XX比雞腿』,真的是不能比,我們隨便找一家國內的知名主機商來和我這一系列ez2learn的網站所架在的主機商WebFaction比較看看

智邦生活館

WebFaction

智邦的年費要

1200 元新台幣

新台幣,我們來看WebFaction最低階的,五年約的主機,5.5美金每個月,一年就是66美金,以匯率以現在的33.3800654下去計算,一年是

2203 元台幣

重點在後面,我們來比比看同樣價格下有多少資源可以使用

智邦和WebFaction虛擬主機比較表
資源 智邦 WebFaction
最低價年費 1200 2203
硬碟空間 2GB 10GB
每月免費流量 10GB 600GB
價錢空間比 600 220.3
價錢流量比 120 3.67

很明顯地,怎麼算隨便一家國外的主機商都可以把國內的主機商打得死死的,怎麼比? 根本沒辦法比,而且除了這些可以數值化的價錢、資源可以比較,還有一些是沒辦法比較的,如同在我這個網站的主機商 : WebFaction中所提到的,他們有一個團隊的優秀客服,負責解決客戶在技術上遇到的問題,他們甚至建立了整個的知識庫來記錄這些問題,他們的客服都是很有經驗的,雖然我沒用過智邦,但另一家國內的主機商的客服來說,國內的主機商肯定辦不到找一群有經驗的客服來解決客戶遇到技術上的問題,這只是客服的部份,還有主機技術上的支援,不要說國內的主機,國外的主機都很少有支援Python、Ruby、TurboGears、Django等等國內較少見的網頁開發環境,國內有的就只有老掉牙的LAMP (Linux Apache MySQL PHP),會選擇WebFaction是因為他們支援TurboGears,因為WebFaction注重在於支援那些開發環境和客服,所以就流量和空間等等的資源上,已經算是比較沒有那麼強,有很多主機商如果只支援LAMP那樣的網頁環境的話,資源的差距那更是天差地遠,總合以上幾點的結論是,真的是』XX比雞腿』,怎麼比? 沒辦法比,國外的主機商市場那麼大,國內這麼小,價格和服務當然沒辦法比

那PHP呢?

如果你要用WebFaction跑PHP也是可以,WebFaction上面寫的Memory限制,是針對Python等網頁程式,PHP目前是不在限制之類的,所以PHP的網站不用擔心記憶體使用超過限制的問題,

那好幾個網站呢?

那如果說,你想架好幾個網站呢? 對於WebFaction來說也沒問題,如你所見,我的ez2learn.com下面的所有網站

易記學程式設計教學

WebChuan 網頁抓取函式庫

易記學 程式設計討論區

和這個部落格,全是架在同樣一個虛擬主機下,它的控制版面讓架站相當輕鬆容易,你要架多少個網站他沒有限制,只要流量和空間不超過限制就可以,就我網站目前那丁點流量和空間使用率,要超過限制實在很有難度,而且PHP的網站也不限記憶體使用率,所以事實上如果你拿來架PHP的話,可以弄一堆網站都沒問題

唯一的問題 : 英文

為什麼差這麼多,還是有人會買國內的主機服務,我想了想,答案大概就在於語言吧,畢竟不是每個人都懂得如何看懂英文網頁,和寫信用英文和客服溝通,事實上英文不用太好,只要看得懂,和寫出來對方看得懂就夠了,像我英文這樣破爛的人,都可以做得到,證明不是什麼難事,如果因為英文不好而花大錢當冤大頭不是很嘔嗎? 而且現在的主機商都有幾天內無條件退費的優惠,WebFaction的無條件退費天數是60天,也就是說你購買了服務之後,60天以內後悔了、覺得服務很爛、看客服不爽,各種理由,都可以無條件退費,以下我們指導如何購買WebFaction的虛擬主機服務

如何購買WebFaction網頁主機服務

首先,來到WebFaction的申請頁面,填寫你的基本資料

WebFaction填寫基本資料

WebFaction填寫基本資料

填寫你的姓名、信箱、地址、國家等等,關於地址,如果你不知道你所住的地方英文地址是什麼,沒關係,我也不知道,因為有線上中文地址轉英文地址的服務可以使用,請注意範例中寫的地址不是我家的,是我看見下面中華郵政的地址就隨手寫進去轉成英文當示範用,其中還有公司和VAT欄位,如果沒有可以不要填

接下來是關於你的網站的資料

WebFaction填寫網站資料

WebFaction填寫網站資料

User name是你的使用者名稱,你以後登入WebFaction的管理版面或是SSH都是用這個名稱,不能更改

Domain是你的域名,如果暫時還沒有的話,可以留白,他會給你一個<使用者名稱>.webfactional.com的域名,當然,當之後你有域名以後就可以更改設定

Software是一開始他們要幫你安裝的軟體,當然,你可以自己用他們的控制面版安裝或修改,相當的簡單,照著他們教學影片做,我只能說簡單到不行

If other: 如果你也想安裝其它軟體,一樣也可以寫在這裡,它們在開通帳戶時一樣會幫你安裝

Promo code or referer: 這裡是填寫推薦人,這裡是填寫我的id victorlin,這樣我可以得到一些回饋金:P

申請WebFaction填寫Plan

申請WebFaction填寫Plan

接著是選擇你要使用哪一個Plan,也就是,什麼等級的虛擬主機,在這裡示範我們選擇Shared1,也就是最便宜的虛擬主機,當然,如果你有需要,可以選擇更高級的,甚至是專屬主機,有什麼主機類形可以看他們的網頁這裡有寫,專屬主機的話,則是寫在這裡,然後是付款方式,可以選擇使用信用卡、金融卡或Paypal付款,在這裡我們選擇使用信用卡,Payment period是指多久付一次款,一次合約越久就越便宜,可以參照他們網頁上所寫的

WebFaction申請接受條款

WebFaction申請接受條款

接著你可以在Comments or special instructions裡寫你想他們幫你做的要的額外工作,例如安裝某些套件等等,最後勾選TOS and AUP接受他們的條款,就可以Next step填寫信用卡資料,完成之後,需要等收到他們來信告知帳戶開通完成,不會等太久,當時幾小時我就收到信馬上可以使用了

狂賀! 第一篇垃圾評論

十月 23rd, 2008

恭喜老爺! 賀喜老爺!

我期待了好久的垃圾評論終於找上門來了 XD

垃圾評論

垃圾評論

這小小的垃圾,是部落格的一大步 XD,重要的里程碑,連垃圾都可以找上門來了,代表有一定的外部連結

Plone真是一隻怪物

十月 2nd, 2008

不幸的消息

不幸的消息傳來了,我收到了主機商的通知,我的記憶體使用量超過了我購買的主機服務的限制,開這麼多東西早料到有可能會有這樣的事情發生,但其中最大的兇手就是Zope + Plone

Plone吃掉了我的小朋友

原先選擇最便宜的專案,可是它會顯示因為Plone的記憶體使用量超過100MB,因此至少要更高一級的方案,於是就選了更高一級的方案,不過原本只是打算架Plone,後來只是順便架個Blog和phpBB,當初想說該不會超出記憶體使用量吧?果不其然

我討厭Plone

說真的我並不喜歡Plone,看它癡肥的模樣就讓我想起eclipse在我筆電上跑的情況,它有太多遺產從Zope一路繼承下來,甚至連資料庫都是獨樹一格的Zope Database,但是它功能強大卻是不可否認的,或許因為選擇不多,否擇我也不想使用Plone,又或著說,其實還有更好的CMF可以用,只是我沒找到而已

我一度曾試著想弄懂怎樣客制化Plone,可是我發現它底層實在有太多東西了,如果真的要了解,我得從底層開始研究起來,這會讓我抓狂,只想說誰來把Plone這頭怪物重新製造出一個輕量級的版本好嗎? 也該是重構的時候了吧?

解決方案

現在我必須向主機商WebFaction提出我的解決方案,他們推薦是升級主機方案 XD,當然,這的確是最簡單的方法,相對的要付出更多小朋友,說真的我一直很想找一個替代Plone這隻怪物的方案,如果能夠找到,再怎麼癡肥應該也不會有Plone癡肥,或是把討論區和部落格移到其它主機上,之前有人說過,小朋友不夠多養不起Plone,現在看起來的確是如此 囧rz

小朋友不足、請勿飼養Plone,Victor 關心您

這個網站的主機商 : WebFaction

九月 28th, 2008

主機商WebFaction

今天我要介紹我的網站所使用的主機商 : WebFaction

» Read more: 這個網站的主機商 : WebFaction