為什麼要使用虛擬主機?

話說,自從我改行賣虛擬主機以來,還滿多人問過我這個問題的。

我想,主要就是省錢/省時間吧。先來計算一下,一般人常用的選項,用自家的pc來當server的電費成本吧:如果使用pc來當server的話,以最省電的server來計算,假設你是個有工程素養的人,可以讓server只用100瓦( 常見的電源供應器是300瓦 )。一天用大約3度電,一度電3元,一個月的電費開銷:270元。讓你的PC不用的時候就關機休息,一個月270可以租虛擬主機了。

除了電費成本之外,自己灌pc來當server的成本還有:
(1) 灌linux, 灌apache, 灌php, 灌application( 例如forum的程式 )的成本
的確,這些軟体都是免費的,但是灌這些軟体都要花時間。而時間就是成本

(2) 軟體升級的成本
這些底層的軟体每年或是每兩三年都會有升級的必要性,這也是一種成本

(3) 防駭的成本
iptables,我相信不是每個人都可以流暢地來config的。當然,你也可以考慮把server裝在防火牆後面,不過,這樣子,你還是得設定port forwarding,這個還是滿麻煩的。更糟的是,除非你用的是高級的UTM,否則,一般的防火牆都擋不住http get flood攻擊。

(4) 流量/頻寬的成本
網站小的時候差異不大,網站大的時候,一般的家庭用寬頻,是下載快上傳慢。家庭用的寬頻並不適合用來架大網站。

(5) 技術支援的成本
出問題的時候,要找誰呢?自已上網瘋狂地google嗎? 還是說,至少有個人幫你維護主機的,可以大概告訴你,程式的問題,可能是什麼?

在cpanel裡,無法將rvskin的theme由Rvblue轉回x3

客戶向我抱怨,他無法在cpanel裡,無法將rvskin的theme由Rvblue轉回x3。

我試了幾種方法,也是解決不了。後來查閱了cpanel官方論壇的解法

動用到root的權限:
vim /var/cpanel/users/${username}
將其中的RS=rvblue 改成 
                RS=x3
再執行
/scripts/updateuserdomains
才成功地改回。

主機植物園

首先,由於這篇文章是屬於不負責的主機評論,所以請大家當笑話看看就好了,不要太在意我的觀點。我也是小小主機商一個而已。XD

我的同業中,有一個還不錯的,叫他”主機植物園”好了,其實我覺得他滿會整合軟體的。他的官網,有一個很帥氣的slidedeck,就是一個可以左右捲動的特效。我覺得做得相當好,我一邊看就不知為何,讓我想起了我以前在slidedeck這個網站上,有看過類似的 javascript library。

嗯,這家主機商真的很有主機商的樣子,自己的網站就做了最佳示範:當然是適度地整合一些付費資源,才會做得又美又好囉!

如何挑選合適的主機商?

虛擬主機這個行業,老實說,進入的門檻並不高,只要會用WHM/Cpanel,就算linux的command不太熟,也是可以當個主機商。因為95%的事情,都可以靠cpanel來解決。也因為這樣子的結果,主機商眾多,反而讓消費者可以有多樣選擇的機會。

基本上,主機商無論國內外,都可以區分為大主機商和小主機商。什麼叫小主機商呢?我下個定義好了,全公司的員工5人以下的,夠小了吧。XD。老實說,就我對我同行的理解,還滿多這樣子的主機商,很多是一人公司。附帶一提,敝公司也是小主機商。

大主機商因為規模經濟的關系,其實比較能壓低商品的售價。小主機商的話,因為是老闆兼撞鐘的關系,服務是比較不打折扣的。客戶說聲要走人了,老闆是比誰都急。XD

所以我會建議:會需要客製化服務的可以考慮小主機商,他們會很認真地服務你。以價格為第一考量的客戶,則可以考慮大主機商。而如果你覺得你需要的服務,應該都是在cpanel/WHM可以cover的範圍內,這種情況,可能大主機商就可以搞定了。

透過command來搬mysql資料庫

獨立主機的客戶,從別家搬過來,mysql的資料庫總是搬不好。透過phpmyadmin也是搞不定。其實phpmyadmin會有error也是很正常的事。phpmyadmin是跑在http protocol之上的。http 的post如果有時間限制或是php的執行時間有限制,就很容易timout。

沒有辦法,只好直接下command來搬。

<<匯出>>
mysqldump -u “your_username” -p –lock-tables –databases DB1 [DB2 DB3…] > your_database_dump.sql

<<匯入>>
mysql -u “your username” -p “your_database” < database_dump.sql

如果匯出的時候,有using –all-databases 選項,可以使用:
mysql -u “your_username” -p < your_database_dump.sql   來匯入,比較簡單。

日本的虛擬主機

又接到了客戶的神奇的要求。客戶問我們,為什麼不去租日本的主機,他認為日本距離台灣比較近,RTT(round trip time)應該會比較小,可以小於100ms。日本的虛擬主機價格也跟美國差不多,但是美國的虛擬主機,以Unethost用的美西線路,最快仍然需要130~150ms之間。

我們被客戶問的沒有話講,遇到太專業的客戶也是頭痛的。XD

於是我上網查了一下日本的虛擬主機。查了老半天,我才搞清楚,要用的關鍵字不應該是「仮想サーバー」而是「レンタルサーバー」( rental server ),用錯關鍵字的話,還以為日本人沒有主機商。XD 。這邊有一個專業的評價網,供大家參考。

不過,這筆生意最後還是沒有成,因為我們幫客戶代租主機是有收代管費的,但是客戶認為應該要更便宜。這也沒有辦法~誰叫他是客戶呢?XDXD

 

搬移flash網站

新來的客戶跟他原來的網頁設計公司有點不愉快,想把他的網站整個搬到unethost過來。不過,對方似乎嘴巴上同意要給程式碼,半天沒有給…。

由於他的網站雖然當初有設計後台,但是客戶其實從來沒有使用過。總之,這回的搬站任務是在連cpanel也沒有的條件下進行…( 會不會太艱困了一點。)

跟客戶確認之後,他不需要程式的後台功能,只要有人幫他更新即可。我透過wget,硬是把他的整個網站都抓了下來。唯一出問題的地方,就是flash。該網站的首頁超連結選單,是用flash做的。flash的程式碼,是去讀一個.xml檔,來取得每一個超連結對應的檔案。換言之,這次的搬移,如果不找出這個.xml的檔名,是不可能成功的,因為要改超連結選單的內容。

後來,我到大陸人的網站抓了一隻flash decompiler,將swf檔硬是轉成source code。才找到.xml檔。呼~~ 總算是達成了任務。

透過rsend.sh來搬移檔案

要用rsync來傳檔,非常的方便,但是,壞處就是rsync這個command的語法太複雜了。有時候,我在幫客戶搬上百G的資料時,都是一邊查rsync的語法,一邊用。然而,自從有了rsend.sh這個scripts之後,rsync就簡單多了。
用法是如下,假設,要把sender 端 X資料夾的東西,移到 receiver 的Y 資料夾
Sender 機器 ( 來源資料端 )
(1) 關閉firewall
(2)  cd X    # 切換路徑
(3)  wget   http://acelnmp.googlecode.com/files/rsend.sh  #取得rsend這個script
(4)  mv rsend rsend.sh
       chmod +x ./rsend.sh
      ./rsend.sh
       #  這時候,螢幕上會出現三行指令,選第一行來copy ,然後貼到另一個ssh視窗
receiver 機器  (接收資料端)
(1)   關閉firewall
(2)   cd Y
(3)   rsync -aHvz rsync://example.xxxsystem.com:14845/. .
( 注意,上頭這個複雜的指令,會由rsend.sh在執行的時候,幫你算出來。 所以完全不需要動大腦。XD  )
 完成後,分別在兩台機器上,重新啟動firewall
其他問題:
最後需要注意的是,如果是不同帳號的空間,可能會有帳號權限問題,靠rsend.sh並無法解決,詳情請看: 如何複製不同虛擬主機帳號的檔案?

(本篇教學由unethost.com客服撰寫)

延伸閱讀:如何備份Cpanel後台安裝的套裝程式?

操作上述的軟體,我們提供虛擬主機試用,七天滿意保證,
功能完整使用不受限制,歡迎點我申請。