虛擬主機是什麼、虛擬主機有什麼優缺點、該如何挑選虛擬主機?

簡短的說,虛擬主機(又稱 virtual hosting 或 shared hosting)是透過軟體,將一台實體主機(又稱獨立主機或dedicated server)的資源切割成不同的資源大小,讓一台實體主機可以同時放置多個網站,達到資源共享與成本均分,也能降低架設網站所需主機的成本。

虛擬主機、網站和我們電腦間的關係?

我們可以用電腦或手機連上不同網站,並瀏覽各網站內容,是因為我們的電腦透過網際網路連結遠端的網路主機,再將網站的內容下載到我們的電腦,並透過瀏覽器來做展示。而這遠端主機,說穿了,就是一部電腦,上面安裝了作業系統、不同的網站軟體,並做管理,但問題來了,我們真的有需要用到一整台電腦的資源嗎? 有沒有更節省資源、節省電費、節省費用的解決方案呢? 有,這正是虛擬主機。

虛擬主機可以降低主機的成本?

是的,如果一台伺服器上只能架設一個網站,那每架一個網站就得準備一台電腦硬體的錢、軟體的錢、電費,還有管理的成本,如果您有10個網站,豈不就得買10台電腦來放這10個網站? 這樣費用會相當驚人。而虛擬主機的概念,就是透過軟體將一台電腦(或稱伺服器、實體主機)的資源切割成多份,這樣許多網站可以共用一台電腦的硬體資源(例如CPU、記憶體..等等),每個網站也能平均分攤電腦硬體、軟體還有管理的成本。因此,我們可以了解到虛擬主機的優點便是節省成本、節省電費,讓我們可以用比較低的費用就能購買到虛擬主機來放置網站。

PHP、MySQL虛擬主機較常見

常見的主機作業系統有Linux與Windows,分別支援PHP和ASP為主。有鑒於Linux是開源的作業系統,目前有許多開源的網站程式也是透過PHP撰寫,例如WordPress、Joomla、OpenCart..等等。

虛擬主機容易不穩?

雖然虛擬主機很方便、很便宜、很省錢,但虛擬主機也有缺點。虛擬主機透過程式做資源分割,以Linux系統來說,主機業者可以設定每個主機方案與帳號能使用多少空間、每月流量、可以使用多少MySQL資料庫,但你怎麼知道同主機上的其他網站會不會使用很多資源呢? 如果某個網站因為漏洞、未更新、被上傳有問題的檔案而使用大量的CPU資源,或是有購買者無視虛擬主機是共享環境,很自私、很故意地將虛擬主機當成自己的而執行大量耗用資源的服務,如此一來,主機的資源將會容易不敷使用、主機容易不穩、同一部主機上的網站容易連不上,此問題長久且普遍存在於虛擬主機上。

CloudLinux作業系統提升虛擬主機的穩定度

感謝Igor Seletskiy先生與他的團隊開發了CloudLinux作業系統,讓主機業者可以設定每個方案與主機帳號可以使用多少CPU、記憶體、可放檔案數..等資源限制,當該某個網站使用較多資源時,該網站的速度會會變慢或被限制住,然而同主機上的其他網站仍可以正常運作、降低被影響的機會。 雖然 CloudLinux沒辦法100%做到資源管控,但有資源管控可以說做得非常好了。如果虛擬主機有使用CloudLinux 作業系統,主機的穩定性會提高不少、當機的機會變低、主機上的網站也能有比較好的在線率。

當然,任何的功能有其優點必有其缺點,如果有網站經常使用較多的資源,就可能因為達到資源限制而無法正常運作,若遇到此問題,就得改善網站程式、移除用不到的功能,若真的需要較多的資源,就得升級虛擬主機方案,或是換成實體主機,才能有較多的資源可以使用。

選擇需要的虛擬主機規格,而非貪心求多求便宜

而市面上有許多虛擬主機方案,該如何挑選虛擬主機? 在商言商,任何業者提供虛擬主機都一定需要有他的利潤才能長久維持公司運作的成本,如果主機方案很大、什麼都沒有限制、費用又賣很低,這樣主機商沒有利潤,自然就得在一台主機上放置很多得網站,自然每個主機帳號、網站能分到的資源會比較少、網站容易變慢、主機容易不穩,因此,會建議大家在選擇任何主機方案(包含虛擬主機、VPS或實體主機都是),應該先評估自己的網站需要多少空間、多少流量,找一個合適的方案,切勿因為貪心而找方案開很大、費用卻不高的虛擬主機方案,因為任何主機資源都是成本。