VPS(虛擬專屬主機)是把一台實體伺服器用虛擬化技術切成多台獨立的虛擬機器,每台有自己的處理器、記憶體、硬碟與作業系統,你拿到最高管理權限,可以自己安裝軟體、調整設定。代價是作業系統更新、防火牆與備份,從主機商手上移到你手上。規格要先把網站程式、資料庫與快取的記憶體分開估,再看處理器、硬碟讀寫與頻寬;主機開好後,先做完安全設定再上線。
01常見情境:軟體工作室、電商行銷主管、工廠一人資訊部
以下是幾種常見情況的示意,不是真實客戶案例。先找最接近你的一種,再從建議的段落讀起。
- 三人軟體工作室,負責人兼後端工程師:替客戶做預約系統,後端是 API 加資料庫,需要指定版本的執行環境與排程程式,虛擬主機裝不了。他最擔心規格買太小,一忙就卡住;買太大又白花錢。建議先看「CPU 與記憶體怎麼估」,再看「硬碟容量、IOPS 與頻寬」,確認資料庫頻繁寫入時硬碟跟得上。
- 約五十人的居家用品電商,行銷主管負責採購:外包的網站工程師建議把購物網站搬到 VPS,要不要升級已經評估過,但公司沒有專職資訊人員。她最擔心主機開好以後沒人更新,出事時找不到人負責。建議先看「自管還是委託代管」的分工表,把每一列填上負責人;再對照「開好 VPS 後第一週要做的安全設定」,確認工程師交機時做完了哪幾項。
- 精密零件工廠的資訊人員,一個人顧全公司:要架內部報價系統與一套測試環境,老闆只核准一台 VPS。他擔心遠端登入被掃描、密碼被猜中。建議從「開好 VPS 後第一週要做的安全設定」開始,照順序做完金鑰登入與防火牆;版本取捨再看「作業系統與控制台怎麼選」。
02VPS 是什麼:虛擬化、資源分配與 root 權限
VPS 背後的技術是虛擬化。以 Linux 核心內建的 KVM 為例,Red Hat 的說明是:實體機器(宿主機)上的虛擬化層把運算資源分配給多台虛擬機器,每台都有自己的虛擬處理器、記憶體、硬碟與網路卡,各自執行獨立的作業系統;其中一台不穩定,不會拖垮宿主機或其他虛擬機器。虛擬主機則是很多帳號共用同一套作業系統與網站伺服器。
不過「分配給你」不等於整顆實體處理器只給你用。處理器可能是保留的核心,也可能是和其他虛擬機器分時使用的虛擬核心,硬碟讀寫與網路也可能另設上限,簽約前請主機商說明哪些是保留、哪些是共用。
root 權限代表你能改動任何設定,也沒有人替你把關。三種主機的差別,在於下面這些工作由誰負責:
| 工作 | 虛擬主機 | VPS | 專屬伺服器 |
|---|---|---|---|
| 實體硬體維修 | 主機商 | 主機商 | 主機商(整台硬體只供你使用) |
| 作業系統安全更新 | 主機商 | 自己,或委託代管 | 自己,或選全代管 |
| 網站環境(PHP、資料庫版本) | 從主機商提供的版本中挑選 | 自己安裝與升級 | 自己安裝與升級,或由全代管處理 |
| 防火牆與登入安全 | 主機商 | 自己 | 自己,或由全代管處理 |
| 備份與還原 | 依方案內容 | 自己規劃 | 自己規劃,或由全代管處理 |
| 網站程式本身 | 你或網站廠商 | 你或網站廠商 | 你或網站廠商 |
還在猶豫要不要從虛擬主機換過來,判斷方式請看虛擬主機價格與升級 VPS 的成本比較,以及虛擬主機挑選清單中「哪些網站不適合放在虛擬主機」。本文假設你已決定用 VPS。
03CPU 與記憶體怎麼估:程式、資料庫、快取分開算
先估記憶體。記憶體不夠時,系統只能拿硬碟上的交換空間頂替,佔用最多的程式甚至可能被強制結束。估法是把同一台 VPS 上會執行的東西逐項列出、各自估用量,再加上餘裕:
- 作業系統本身:Ubuntu 官方文件列出 Ubuntu Server 24.04 LTS 的記憶體需求,雲端映像檔最低 1 GB、建議至少 3 GB,並提醒設定較複雜時需要更多。這是系統能順利運作的底線,還不含網站。
- 網站程式:以 PHP 網站常用的 PHP-FPM 為例,php.net 說明 pm.max_children 是子程序數量的上限,也就是同時能處理的請求數上限。程式需要的記憶體,約等於「上限數量 × 單一程序實際佔用」。單一程序吃多少要在測試環境實測,外掛多的 WordPress 和精簡的自製程式差很多。上限設太高,尖峰時記憶體會被耗光;設太低,請求只能排隊。
- 資料庫:MySQL 的 InnoDB 會把常用的資料表與索引放在記憶體裡的緩衝池(buffer pool),直接從記憶體讀取才快。MySQL 官方文件提到,專用的資料庫伺服器常把最多 80% 的實體記憶體配給緩衝池;但那是整台只跑資料庫的情況。和網站程式擠在同一台 VPS 時,要先扣掉其他用量再分配,目標是讓經常被查詢的資料能整份放進去。
- 快取:用 Redis 做物件快取時,官方文件說明 64 位元系統預設不限制它的記憶體用量(maxmemory 為 0),必須自己設上限並挑選淘汰策略;選 noeviction 時,快取滿了以後再寫入新資料會直接回傳錯誤。
- 餘裕:備份壓縮、系統更新、排程工作都會臨時佔用記憶體,加總不要剛好等於方案容量。
處理器核心數看的是同一時間有多少動態請求要計算,核心數決定同時能有幾個程序真正在執行;縮圖、匯出報表、壓縮備份等背景工作也會搶同一批核心。可以先選中間偏小的規格,上線後若尖峰時段的系統負載長時間逼近核心數,再升級。
04硬碟容量、IOPS 與頻寬:資料庫與尖峰流量要另外看
容量:Ubuntu 官方文件建議 Ubuntu Server 至少準備 25 GB 以上的儲存空間,而這只是系統本身。還要加上:網站檔案與使用者上傳的圖片、文件;資料庫的資料與索引;MySQL 8.4 預設開啟的二進位日誌(binary log),它逐筆記錄資料變更、供時間點還原使用,沒有設定保留期限就會持續累積;紀錄檔;以及備份送到異地前在本機產生的匯出檔。硬碟快滿時,最先失敗的常是備份。
IOPS:每秒能完成多少次讀寫。真正消耗 IOPS 的多半是資料庫的隨機讀寫,例如大量下單、會員登入、後台搜尋與報表。緩衝池放得下常用資料時,查詢多半不必碰硬碟;放不下時,每次查詢都要回硬碟找,IOPS 就成了瓶頸,所以記憶體與硬碟要一起估。請向主機商確認:硬碟是主機本機的 SSD 還是網路儲存、有沒有 IOPS 上限、超過上限時是排隊還是降速。
頻寬與流量:頻寬是速度,單位 Mbps(每秒百萬位元);流量是一個月累積的傳輸總量,單位 GB。每月流量的粗估方式,虛擬主機挑選清單已有說明;VPS 要多看的是尖峰時的頻寬。換算時記得 8 位元等於 1 位元組,100 Mbps 在理想狀況下約等於每秒 12.5 MB。以示意計算來看,一個含圖片約 2.5 MB 的商品頁,頻寬全滿時每秒也只能完整送出約 5 頁。檔期尖峰遠高於每月平均,所以要問清楚:頻寬是獨享還是與其他用戶共用、國內與國際連線速度是否不同、每月流量用完後是加價還是限速。圖片壓縮與 CDN 能減少主機送出的資料量。
05作業系統與控制台怎麼選:LTS 版本、支援期限與管理介面
伺服器的作業系統要挑長期支援版本,因為中途重灌、搬家的成本很高。Ubuntu 官方的發行週期是每兩年推出一個 LTS 版本,提供 5 年標準安全維護;兩個 LTS 之間的過渡版本只有 9 個月更新,不適合放正式網站。另有付費的延伸安全維護(Ubuntu Pro 的 ESM),可把安全更新延長到 10 年。Debian 則有 LTS 專案,把每個穩定版的生命週期延長到至少 5 年。挑版本時先算還剩幾年支援,剛發行的 LTS 會多出好幾年安全更新。
其次看網站程式需要的版本。例如 WordPress 官方建議 PHP 8.3 以上、MySQL 8.0 以上或 MariaDB 10.11 以上。安裝前先確認發行版內建的套件版本是否符合,不要為了湊版本加裝來路不明的套件來源。網站用 ASP.NET 或 SQL Server 開發,才需要 Windows 環境;VPS 可提供的作業系統選項請洽詢,Windows 環境的企業系統也可以評估專屬伺服器的 Windows 方案。
Plesk、cPanel 這類主機控制台,把網站、資料庫、信箱、DNS 與 SSL 憑證的設定做成網頁介面,適合一台主機放好幾個網站的團隊;代價是本身會佔用記憶體與硬碟,部分需要另購授權。只跑一套自家程式、工程師熟悉指令列時,不裝更精簡。如果真正的需求只是用 Git 推送程式、部署到主機,不必改系統設定,也可以比較支援 Git 部署的開發者主機,把系統維護留給主機商。
06開好 VPS 後第一週要做的安全設定
新開的 VPS 一連上網路就會被自動化程式掃描,下面的步驟請在上線前照順序做完。修改登入設定時,先另開一個視窗保持登入,確認新設定能登入後再關掉舊的。
- 先更新系統:用套件管理工具把所有套件更新到最新(Ubuntu 與 Debian 用 apt)。Ubuntu 預設已安裝 unattended-upgrades,每天自動套用安全更新,但預設不會自動重新開機;核心這類需要重開才生效的更新,要另排離峰時段重新開機。
- 建立一般管理帳號,改用金鑰登入:日常操作用具備 sudo 權限的一般帳號,不直接用 root。Ubuntu 官方文件建議以
ssh-keygen -t ed25519產生金鑰,再用ssh-copy-id把公鑰放到伺服器。依 OpenSSH 的 sshd_config 文件,PermitRootLogin 預設為 prohibit-password(root 不能用密碼登入),但 PasswordAuthentication 預設為 yes,一般帳號仍能用密碼登入。確認金鑰登入成功後,把密碼登入關掉。 - 改 SSH 設定前先備份、先檢查:Ubuntu 的主設定檔是
/etc/ssh/sshd_config,而/etc/ssh/sshd_config.d/裡的片段檔會先被讀取,同一項設定以先讀到的值為準,只改主檔可能沒有作用。改完先執行sshd -t檢查語法,再重新啟動服務;官方文件提醒,設定錯誤可能讓你被鎖在主機外面。 - 開防火牆,只開必要的埠:Ubuntu 的預設防火牆工具 ufw 一開始是停用的。先允許 SSH,再啟用防火牆;一般網站對外只需要 80 與 443。資料庫、快取服務只讓本機或內部網路連線,不要對外開放。
- 設定備份,並實際還原一次:Ubuntu 文件建議先規劃備份什麼、多久一次、放哪裡、怎麼還原,重要備份存放在異地。MySQL 文件指出,InnoDB 修改過的資料可能還沒寫回硬碟,直接複製執行中的資料檔得不到一致的備份;可以用 mysqldump 加上 --single-transaction 線上匯出,再搭配二進位日誌做時間點還原。第一週就挑一份備份還原到測試環境。
- 開始監看:掌握硬碟剩多少、尖峰用量與登入紀錄,並設好硬碟快滿、服務停止時的通知。
大量惡意流量不是單台 VPS 的防火牆擋得住的,請看DDoS 攻擊應變步驟。
07自管還是委託代管:VPS 維運分工表
系統管理工作沒人做,只會變成沒人發現的風險。下表列出兩種做法的負責人,以及都要事先講定的地方:
| 工作項目 | 自己管理 | 委託代管 | 事先要講定的事 |
|---|---|---|---|
| 安全更新與重新開機 | 內部工程師依更新通知處理 | 代管方定期套用 | 重開機的時段,以及事前通知誰 |
| SSH 帳號與金鑰 | 自己發放與收回 | 代管方建立,客戶另保留一組 | 員工或外包結束合作時,誰負責收回、多快收回 |
| 防火牆規則 | 自己維護 | 代管方依需求開關 | 要開新的連接埠時,怎麼申請 |
| PHP、資料庫版本升級 | 自己測試後升級 | 代管方升級,網站相容性由網站開發者確認 | 升級前的測試環境由誰準備 |
| 備份與還原 | 自己排程與測試 | 代管方執行 | 保留幾份、多久做一次還原演練 |
| 監控與告警 | 自己設定 | 代管方監看 | 告警通知誰,非上班時間怎麼處理 |
| 網站程式與內容 | 網站開發者 | 網站開發者 | 程式漏洞修補不在系統代管範圍內 |
有人懂 Linux 指令、每週能固定撥出時間,而且有第二個人能代班,自管才可行;否則就該委託代管。如果同時需要整台實體主機的資源,可以直接評估專屬伺服器的全代管方案,由專人維運。最常見的誤會是以為代管包含網站程式:系統代管負責作業系統與伺服器服務,外掛與程式碼的漏洞仍要網站開發者處理,界線要寫進合約。
08找凱斯騰協助前,先準備這些:VPS 規格評估資料
想請人一起估 VPS 規格,或判斷該自管還是代管,先備齊下面的資料,討論時就能直接對照本文的估算方法:
- 網站或應用程式用什麼語言與框架寫成,需要哪些版本,例如 PHP 版本、資料庫種類與版本。
- 目前主機的資源使用紀錄,特別是尖峰時段的處理器與記憶體用量,以及資料庫大小。
- 每月瀏覽量、單日最高瀏覽量,以及已知的檔期或活動日期。
- 網站檔案、上傳檔與資料庫的總容量,以及每月大約增加多少。
- 需要對外開放的服務,例如網站、API,或只限公司內部連線的系統。
- 公司內部由誰負責系統管理、每週能投入多少時間,或是否打算委託代管。
- 目前的備份方式與保留期間,以及最多能接受遺失多久的資料。
凱斯騰能協助的是主機環境本身:依這些資料建議VPS 雲端主機的等級與作業系統,或判斷改用專屬伺服器、全代管是否更合適;VPS 的方案與價格請見服務頁。網站程式與資料庫查詢的效能調整,仍需要網站開發者一起參與。資料整理好後,請透過聯絡表單洽詢,或來信 [email protected],並註明預計上線的時間。
FAQ常見問題
Q.01VPS 的 vCPU 和實體處理器核心一樣嗎?
不一定。vCPU 是虛擬化層分配給虛擬機器的處理器資源,可能對應保留給你的核心,也可能與同一台宿主機的其他虛擬機器分時使用。對運算效能很敏感的應用,簽約前請主機商說明分配方式,上線前再用接近真實的負載測一次。
Q.02規格先買小,之後可以再加大嗎?
多數 VPS 可以調高處理器、記憶體與硬碟,但調整時要不要重新開機、硬碟能不能縮小、從申請到完成要多久,各家做法不同,要事先問清楚。實務上可以先依目前用量加上餘裕挑規格,上線一兩個月後依監控數據再調整。
Q.03主機商提供的快照,可以當作備份嗎?
快照適合在系統更新或大幅修改設定前留一個還原點,但它通常和 VPS 放在同一個平台上,平台出狀況時可能一起受影響。正式備份仍要另存一份在異地,並定期實際還原測試。
Q.04VPS 可以安裝 Windows 嗎?
要看主機商提供哪些作業系統選項,以及 Windows Server 授權怎麼計算,請先洽詢。也先確認網站程式是否真的需要 Windows:PHP 與 WordPress 網站在 Linux 上就能執行,需要 SQL Server 或特定 Windows 元件的系統才必須用 Windows。
參考資料
- What is KVM?|Red Hat(查閱日期:2026-10-24)
- System requirements|Ubuntu Server documentation(查閱日期:2026-10-24)
- FastCGI Process Manager (FPM) Configuration|PHP Manual(查閱日期:2026-10-24)
- 17.5.1 Buffer Pool|MySQL 8.4 Reference Manual(查閱日期:2026-10-24)
- Key eviction|Redis documentation(查閱日期:2026-10-24)
- 9.2 Database Backup Methods|MySQL 8.4 Reference Manual(查閱日期:2026-10-24)
- Ubuntu release cycle|Ubuntu(查閱日期:2026-10-24)
- LTS|Debian Wiki(查閱日期:2026-10-24)
- Requirements|WordPress.org(查閱日期:2026-10-24)
- Automatic updates|Ubuntu Server documentation(查閱日期:2026-10-24)
- OpenSSH server|Ubuntu Server documentation(查閱日期:2026-10-24)
- sshd_config(5)|OpenBSD manual pages(查閱日期:2026-10-24)
- Firewall|Ubuntu Server documentation(查閱日期:2026-10-24)
- Backups and version control|Ubuntu Server documentation(查閱日期:2026-10-24)
