AWS帳號快速註冊 AWS 亞馬遜雲國際站 Amazon Linux 服務器安裝
前言:雲端伺服器安裝其實沒那麼可怕
如果你把「AWS 亞馬遜雲國際站 Amazon Linux 服務器安裝」想像成要在機房裡爬上去接一堆線、還要背著厚厚的手冊,那你就錯了。AWS 的好處是:你幾乎不需要碰實體硬體;壞處是:你需要懂一些雲端概念,不然它會用看似冷酷的方式告訴你「不然你自己想想為什麼連不上」。
這篇文章會用一種「不裝神弄鬼但也不敷衍」的方式,帶你完成 Amazon Linux(以常見的 Amazon Linux 2 為例,其他版本邏輯大同小異)在 AWS 上的安裝與部署流程:從建立 EC2、連線到伺服器、更新系統、設定 SSH、建立使用者、設定基本防火牆、防止你踩到常見雷,最後再做一些常用工具與服務(例如 Nginx、Git、Docker/或簡單應用的示範)。
放心,我會盡量把每個步驟寫得像「可以照做」的程度。你只要照著點、照著輸入,就能把你的伺服器從零變成能跑程式的狀態。
準備工作:先把工具備齊,少走半小時彎路
1. AWS 帳號與地區設定
首先確認你有 AWS 帳號,並且選擇你要使用的「區域(Region)」。例如你可能會選擇東京、法蘭克福、首爾等,視你的需求與訪問速度而定。安裝步驟大體相同,但你要注意:金鑰與資源都屬於該區域。你如果在不同區域之間切換,可能會出現「怎麼找不到剛剛那把金鑰」這種令人想翻白眼的情況。
2. 一台能用的終端機
你需要一個能執行 SSH 的終端機:
- Windows:可用 PowerShell 或安裝 PuTTY / 或 Windows Terminal 配合 OpenSSH。
- AWS帳號快速註冊 macOS:直接使用 Terminal。
- Linux:直接用你的終端。
如果你用的是 macOS/Linux,通常都已內建 ssh 指令。Windows 也通常可以開啟 OpenSSH Client。
3. 會用到的關鍵概念
- EC2:你建立的雲端伺服器。
- AMI:系統映像檔。Amazon Linux 就是其中之一。
- Key Pair(金鑰):用來用 SSH 連線登入伺服器。丟了就是丟了。
- Security Group(安全群組):控制哪些 IP/端口可以連進來。
這些名字聽起來很像密碼學課本,但不用怕,後面步驟會對應到你要做的事情。
在 AWS 建立 Amazon Linux 伺服器(EC2)
1. 開啟 EC2 建立精靈
登入 AWS 主控台後,搜尋並打開 EC2。接著點擊「Launch instance(啟動執行個體)」。
2. 選擇 AMI:Amazon Linux
在「Name and tags / AMI」相關頁面,選擇 Amazon Linux。常見選項包含:
- AWS帳號快速註冊 Amazon Linux 2
- Amazon Linux(較新的發行版本,取決於你看到的選項)
建議你新手先選 Amazon Linux 2(資訊最多、教學也最多)。如果你看到的是 AL2023/較新版本,也可以用,但本文示範以「類似 Amazon Linux 2」的命令為主(例如 yum/dnf 與某些設定方式可能略不同)。
3. 選擇執行個體類型(Instance type)
選擇你用來測試或部署的規格。新手通常先用 t 系列(如 t2 或 t3)中較小的規格就夠了,例如:
- t3.micro / t3.small
如果你只是跑輕量服務、測試網站、或做教學專案,微型通常足夠。
4. 設定金鑰對(Key pair)
這步是靈魂級關卡。AWS 會要求你選擇或建立 Key pair。
- 如果你還沒有金鑰:選「Create new key pair」。
- 下載後請妥善保存。不要刪、不丟到下載資料夾深處、不要改權限搞到連 ssh 都連不上。
金鑰檔常見副檔名是 .pem。下載後請記住檔案位置,稍後會用它來登入。
5. 網路與安全群組(Security group)
這裡是「你為什麼連不上?」的大宗原因。
在安全群組設定中,通常你需要開放:
- SSH(22):從你的 IP 連進去。
更安全的做法是:只開放你的家用網路 IP 或你常用的辦公室 IP(固定 IP 或你可控的區域)。如果你一時懶得查 IP,把 0.0.0.0/0 開放也不是不行,但安全風險會變高。新手可以先開通連線,但建議你理解後再收斂。
也就是:你希望只有你能登入伺服器,而不是全世界都能碰碰運氣。
6. 儲存(Storage)設定
AWS帳號快速註冊 Amazon Linux 的磁碟你可以沿用預設,但新手常見狀況是:磁碟太小導致後續安裝與部署失敗。對於簡單網站或測試環境,幾十 GB 通常夠。
常見預設是 EBS(Elastic Block Store)。你可以調整大小(例如 8GB、20GB、30GB)。如果你不知道要多少,就先用預設,但要知道:日後如果不夠,也能擴容。
7. 啟動執行個體
最後確認設定,點「Launch instance」。
啟動過程中你可以到 EC2 的「Instances」列表觀察狀態。等狀態顯示 running 才能連線。
連線到 Amazon Linux:用 SSH 把主機拉到你手上
1. 找到伺服器的 Public IPv4 或 DNS
在 EC2 的 Instances 列表,點選你的執行個體。在下方可以看到:
- Public IPv4 address
- Public DNS (IPv4)
SSH 需要使用這個公網地址,來進行連線。
2. 修改金鑰檔權限(Linux/macOS)
如果你在 macOS/Linux 連線,請先設定金鑰檔權限,避免 SSH 直接拒絕。
例如(把檔名換成你的):
chmod 400 your-key.pem
Windows PowerShell 也可以,但命令與權限概念略不同。若你使用 PuTTY,則可能需要把 pem 轉成 ppk。
3. SSH 指令
Amazon Linux 常見預設使用者是:
- ec2-user
連線指令示例:
ssh -i your-key.pem ec2-user@your-public-ip
第一次連線可能會詢問是否接受主機指紋,輸入 yes 即可。
4. 常見連不上原因(請先別急著重建)
- Security group 沒開 22:你會直接超時。
- IP 沒允許你的來源:即使開了 22,但你來源 IP 不在允許範圍。
- 金鑰檔錯:會顯示權限不足或 authentication failed。
- 使用者帳號錯:例如你用 ec2-user 但實際 AMI 需要其他帳號(不過 Amazon Linux 多半是 ec2-user)。
如果你遇到問題,把「錯誤訊息全文」貼出來通常比盲目重建更快。
在 Amazon Linux 上做系統更新與基本設定
1. 更新系統套件
登入後先做更新,確保安全性與套件版本正常:
sudo yum update -y
如果你的版本使用 dnf,可能會是:
sudo dnf update -y
你也可以先看一下系統版本:
cat /etc/os-release
更新完如果有重啟需求,依提示處理。多數情況更新不一定要立即重啟,但有些核心更新可能需要。
2. 設定主機名稱(可選但推薦)
你可以設定一個有意義的主機名,避免「這是第幾台?我怎麼知道」的災難。
sudo hostnamectl set-hostname my-amazon-linux
3. 建立一個新的使用者(不建議只用預設帳號)
最佳實務是:避免所有日常操作都用 ec2-user。可以建立一個管理者使用者,例如 deploy:
sudo useradd -m -s /bin/bash deploy
AWS帳號快速註冊 設定密碼或讓你用金鑰方式登入。通常你會用金鑰登入,所以我們接著把金鑰加入 deploy 的 authorized_keys:
先切換到 deploy 目錄:
sudo mkdir -p /home/deploy/.ssh
sudo chmod 700 /home/deploy/.ssh
把你本機金鑰的公鑰內容貼進去。你可以在本機用:
ssh-keygen -y -f your-key.pem > your-key.pub
或用你已有的公鑰內容。然後把內容寫入:
sudo nano /home/deploy/.ssh/authorized_keys
貼入公鑰後存檔。
最後設定權限:
sudo chmod 600 /home/deploy/.ssh/authorized_keys
sudo chown -R deploy:deploy /home/deploy/.ssh
4. 減少風險:禁用密碼登入(可選但推薦)
如果你想更安全,可以禁用 SSH 密碼登入,改成只能用金鑰。
編輯 SSH 設定檔:
sudo nano /etc/ssh/sshd_config
找到並修改:
PasswordAuthentication no
通常還可以確認:
PubkeyAuthentication yes
修改後重啟 SSH:
sudo systemctl restart sshd
提醒:修改 sshd 時最好確保你已經有金鑰登入成功,否則你可能把自己鎖在門外。這就像你把鑰匙放在室內然後關門走了,雖然很好笑,但代價不便宜。
設定防火牆與開放必要端口
1. 檢查目前防火牆狀態
Amazon Linux 常見工具有 firewalld 或直接依安全群組為主。先確認:
sudo systemctl status firewalld
AWS帳號快速註冊 如果你看到它未啟用,通常是沒有在機器層面設定防火牆(但 AWS 安全群組仍然有效)。如果你不熟,先保持簡單:以安全群組控制即可。
AWS帳號快速註冊 2. 若使用 firewalld,開放必要服務端口
例如你要提供網站(80)與 HTTPS(443),以及 SSH(22)。可以依需求開放:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-service=ssh
套用設定:
sudo firewall-cmd --reload
查看規則:
sudo firewall-cmd --list-all
注意:不要把你不需要的端口開太多。你不是在開派對,別什麼人都放進來。
3. AWS 安全群組再檢查一次
很多人會在 EC2 裡設定 firewalld 但忘記 AWS Security Group;或相反。你最後要確保兩邊都允許:
- AWS:安全群組允許該端口入站
- OS:firewall 允許該端口入站
如果你兩邊都沒開,外面世界就像被你鎖進抽屜。
安裝常用工具:讓伺服器從「能登入」變成「能做事」
1. 安裝 Git、curl、vim 等基本工具
通常你會需要這些:
sudo yum install -y git curl vim
vim 如果你嫌麻煩也可以換成 nano,但 vim 很適合遠端生存。
2. 設定時區(可選)
若你的系統時間與預期不一致,可能會影響 log 與排查。可以查看:
date
若要設定(以台灣常見 Asia/Taipei 為例):
sudo timedatectl set-timezone Asia/Taipei
3. 安裝簡單監控/排錯工具(推薦)
例如 htop(觀察 CPU/RAM)、net-tools(老牌網路指令)。
sudo yum install -y htop net-tools
查看:
htop
如果你想知道目前服務是否有在跑,也可以用:
sudo systemctl list-units --type=service --state=running
安裝與部署 Web 服務(以 Nginx 示範)
1. 安裝 Nginx
sudo yum install -y nginx
啟動:
sudo systemctl enable nginx
sudo systemctl start nginx
2. 放行網路:80/443
你需要確保:
- AWS 安全群組開放 80(HTTP)與 443(HTTPS,若你要用)
- 本機防火牆(若有)開放對應端口
3. 檢查 Nginx 是否正常
sudo systemctl status nginx
或測試回應:
curl -I http://localhost
4. 修改預設網頁
Nginx 預設站點常見在:
/usr/share/nginx/html
例如把 index.html 換成你自己的:
sudo nano /usr/share/nginx/html/index.html
寫入一段簡單內容,然後到瀏覽器用你的 Public IP 存取。
5. 用瀏覽器測試:如果失敗,先別怪自己
如果你打開公共 IP 卻看不到頁面,常見是:
- 安全群組沒開 80
- 防火牆沒開 80
- AWS帳號快速註冊 Nginx 沒啟動或設定錯誤
先看 Nginx log:
sudo tail -n 100 /var/log/nginx/error.log
再看 access log:
sudo tail -n 100 /var/log/nginx/access.log
log 會老實告訴你發生什麼事,別害怕讀它。
如果你要上傳程式:簡單流程(SSH + Git / 或上傳檔案)
1. 用 Git 拉程式(常見做法)
假設你有一個專案倉庫,可以在伺服器上:
cd ~
git clone https://github.com/your/repo.git
接著依專案需要建立虛擬環境、安裝依賴、啟動服務。
不同語言略不同,例如:
- Node.js:通常是 npm install + npm start
- Python:virtualenv + pip install -r requirements.txt
- Java:maven/gradle build + systemd 服務啟動
你可以告訴我你的程式語言與框架,我也可以把「對應的安裝與部署指令」寫成更貼近你需求的版本。
2. 用 SSH 上傳檔案(scp/sftp)
如果你沒有用 Git,也可以:
scp -i your-key.pem ./local-file ec2-user@your-public-ip:/home/ec2-user/
AWS帳號快速註冊 上傳資料夾則可加 -r。
建立持久化開機服務:避免你重開後又回到原點
很多人會遇到:服務跑得好好的,但重啟後就掛了。要解決這件事,你需要把你的服務設為 systemd 服務(或至少設成開機自動啟動)。
以 Nginx 為例,我們用:
sudo systemctl enable nginx
這就已經確保重開後會自動啟動。
如果你的專案是 Node/Python 等,也可以同樣寫 systemd unit 檔讓它常駐。這篇文章如果一次寫完可能會變成「systemd 教科書」,所以先給你方向:
- 確定你的服務要能在開機時啟動
- 用 systemctl enable <service>
- 設定 log 檔案或用 journald
你如果有具體服務(例如你要跑一個 Node.js 的 app),我可以直接給你 unit 檔模板。
進階可選:安裝 Docker(如果你喜歡用容器“打包省事”)
Docker 是很多人上線部署的常用工具,因為它能讓環境一致,降低「我本機跑得好,部署就不行」的機率。
1. 安裝 Docker(以 Amazon Linux 為例概念)
流程在不同版本可能會略不同,通常你會:
- 安裝 docker 套件
- 啟動 docker
- 把使用者加入 docker 群組(可選)
你可以先查看 Amazon Linux 官方或社群對你版本的安裝方式。若你告訴我你的 Amazon Linux 版本號(例如 /etc/os-release 的內容),我可以給你對應的安裝命令。
2. 測試 Docker 是否正常
sudo docker --version
sudo systemctl status docker
拉一個測試映像:
sudo docker run --rm hello-world
如果看到 hello-world 的輸出,恭喜,你已經成功把「容器腦」加入你的伺服器工具箱。
安全建議:別只會開門,還要懂得上鎖
1. 定期更新系統
系統更新是基本安全。你可以設定排程或定期手動跑:
sudo yum update -y
2. 不要把資料塞進 /home 亂七八糟
建議把部署目錄整理,例如:
- /var/www 站點檔案
- /opt/app 你的應用
- log 放在對應的 log 目錄
目的是:未來你或同事能快速定位。
3. SSH 限制(至少針對來源 IP)
AWS 安全群組層級最有效,OS 防火牆是第二道。你可以把 SSH(22)來源 IP 限制到你的固定 IP。這樣就算你把密碼登入關掉,仍然能降低掃描攻擊帶來的噪音。
常見疑難排解:你可能會遇到的“經典怪題”
問題一:我能連上 SSH,但網站打不開
通常是 80/443 沒放行。
- 檢查 AWS Security group 是否開放 80/443
- 檢查 Nginx 是否啟動
- 檢查 Nginx 設定與 log
問題二:我重啟後服務掛了
你可能沒有 enable systemd 或服務沒有常駐設定。
- systemctl status 你的服務
- systemctl enable 你的服務
問題三:ssh 提示 permission denied(publickey)
常見原因:
- 金鑰對不對
- authorized_keys 沒放對位置或權限錯
- 金鑰檔權限不正確
把錯誤訊息與你做過的設定對應看一遍,通常就能找到是哪個環節翻車。
部署完成後:你可以做的下一步(把它變成真正的“可用服務”)
當你成功完成 Amazon Linux 伺服器安裝與基本服務部署,你的下一步可以是:
- 上傳你的應用程式,並用 Nginx 反向代理
- 導入 HTTPS(搭配憑證,或先用 Let's Encrypt)
- 設定環境變數與安全儲存(不要把密碼硬寫在程式碼裡)
- 加上監控(例如 CloudWatch 或簡單告警)
- 準備備份(EBS 快照、資料庫備份等)
這些都很重要,但你已經完成了最基礎、也是最關鍵的「伺服器安裝與可運行」步驟。
結語:從零到能跑,完成的不只是安裝而已
「AWS 亞馬遜雲國際站 Amazon Linux 服務器安裝」的難點常常不是指令本身,而是你要理解每一層在做什麼:EC2 是你的機器,AMI 是你的系統來源,金鑰是你登入的通行證,安全群組與防火牆是你的大門管理員,Nginx/你的服務則是你要讓它做的事。
等你把流程跑順,你會發現其實你不是在“學 AWS”,你是在建立一套屬於自己的雲端工作流。那種感覺就像第一次自己修好電腦風扇:以前看見就怕,現在知道怎麼拆、怎麼裝、怎麼判斷問題所在。
如果你願意,我也可以根據你的目標幫你定製下一篇:例如你要部署的是 WordPress、前端靜態網站、Node.js 後端、Python Django、Java Spring,或要用 Docker 跑服務。你只要告訴我你的技術棧與你目前卡在哪一步即可。

