什麼是伺服器?

解除多年疑惑。

簡述

伺服器其實只是一台裝了「伺服器程式」的電腦,例如:Apache 就是一種伺服器程式。

所以呢,只要你在自己的電腦上裝伺服器程式,就可以說它是一台「伺服器」。

談談關於伺服器主機

雖然說只要安裝伺服器程式就可以當成是一個伺服器,不過有幾個問題:

  1. 正常人不會想讓電腦 24 小時全年無休的開著吧?
  2. 家裡電腦的網路有可能是浮動 IP,一直變來變去的話別人是要怎麼連?

所以接下來會來介紹幾種建立伺服器的方式:

  • 實體主機
  • 虛擬空間
  • 虛擬主機

實體主機

這個就是前面講的,在「實體電腦」上安裝伺服器程式來用,例如我現在用的電腦就是一台實體主機。不過常見的做法是去外面跟人家「租一台」實體主機來用,為了避免前面提的那些問題。

實體主機的特性是使用者擁有「主機的控制權和資源」,所以想怎麼搞都可以。

不過有一個很大的缺點:當實體主機壞了,東西就壞掉了。

虛擬空間

一台電腦的某個空間(像是資料夾),你沒有這台電腦的所有控制權,只侷限在我給你的這個空間(資料夾)裡面,你可以放檔案在這裡,但不可以裝新的伺服器程式也不能玩遊戲。

實際例子:只能用 FTP 來傳檔案,因為沒有控制權。

虛擬主機(目前的主流)

本質也是一台「實體主機」,但裡面可以有很多個虛擬主機,就像我可以在電腦上同時裝 Mac、Linux 系統的道理差不多。

簡單來說可以想成是跟別人共用一台電腦的概念,但跟虛擬空間不同的是所有人都有這台主機的控制權,可以安裝伺服器程式、也可以放自己的網站之類的。

另外是資源要跟大家共享,例如說實體主機只有 4GB 的 RAM,現在有四個虛擬主機,代表每個虛擬主機只能分配到 1GB 的 RAM。

好處是不用擔心「實體主機壞掉」的問題,因為虛擬主機可以再遷移到別的實體主機上。原理可以想成是虛擬主機也是某種「程式」,只要把程式放到別的主機上來跑一樣能運作。

管理主機的方法

關於虛擬主機,你可能會好奇「電腦不在我這裡的話,要怎麼操控它?」,所以這邊會做個解釋。

比較常見的作法有兩種:

  1. 遠端桌面

透過某種方式連到遠端電腦,把畫面顯示到自己的電腦上(Window 比較常見)。

  1. SSH(Secure shell)

透過 CLI 來連到遠端的主機,接著就能「下指令」來操控。

連到虛擬主機的畫面大概就長這樣:

ssh

跟一般的 GUI 不同,你只能透過 CLI 來跟它溝通,這時候就考驗你對 CLI 的熟悉度了。

知道實體 IP 的話可以知道我的位置嗎? mentor-program-day85
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×