美國伺服器
30.12.2024
如何建置自己的Linux伺服器?

對於任何技術愛好者或專業人士來說,建置自己的Linux伺服器都是一項基本技能,它能讓你完全掌控自己的伺服器環境。本綜合指南將帶您逐步了解如何建置Linux伺服器,從硬體選擇到部署進階配置。
為什麼要建置自己的Linux伺服器?
選擇自建Linux伺服器而不是選擇託管服務方案,可以獲得前所未有的靈活性和學習機會。全球排名前一百萬的網域中約96.3%都由Linux伺服器提供支援,這使得Linux伺服器專業知識變得越來越有價值。
主要優勢包括:
- 完全控制硬體資源
- 可客製化的安全配置
- 長期部署的成本效益
- 技術專業人員的寶貴學習經驗
硬體選擇和服務商對比
選擇伺服器硬體時,請考慮以下關鍵規格:
最低推薦配置:
CPU:4核(Intel Xeon或AMD EPYC)
記憶體:8GB DDR4
儲存:240GB SSD
網路:1Gbps埠口,每月5TB流量
| 伺服器類型 | 主要特點 | 最適用於 |
|---|---|---|
| 虛擬專用伺服器(VPS) | 靈活配置,快速部署 | 中小型Web應用 |
| 專用伺服器 | 專屬硬體資源 | 大型資料庫應用 |
| 雲端伺服器 | 全球節點分布 | 跨區域業務部署 |
Linux系統安裝和初始設定
對於伺服器部署,請選擇穩定的Linux發行版。常用選擇包括Ubuntu Server LTS、CentOS或Debian。以下是使用Ubuntu Server的簡化安裝過程:
# 首先,使用Ubuntu Server ISO建立可開機USB
# 從USB開機並執行以下初始設定命令:
# 更新軟體套件清單
sudo apt update && sudo apt upgrade -y
# 安裝基本軟體套件
sudo apt install -y vim curl wget htop net-tools
# 設定時區
sudo timedatectl set-timezone UTC
# 配置主機名稱
sudo hostnamectl set-hostname your-server-name基本安全配置
伺服器安全應該是您的首要任務。安裝後立即實施這些關鍵的安全措施:
# 建立具有sudo權限的非root使用者
sudo adduser admin
sudo usermod -aG sudo admin
# 配置SSH金鑰認證
# 在本機上:
ssh-keygen -t ed25519 -C "your_email@example.com"
ssh-copy-id admin@your_server_ip
# 修改SSH配置
sudo vim /etc/ssh/sshd_config
# 新增/修改這些行:
PermitRootLogin no
PasswordAuthentication no
Port 2222 # 更改預設SSH埠口
AllowUsers admin
# 重新啟動SSH服務
sudo systemctl restart sshd
# 配置UFW防火牆
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp # 新SSH埠口
sudo ufw enableWeb伺服器部署
Nginx因其效能和簡單性而廣受歡迎。以下是基本的安全設定:
# 安裝Nginx
sudo apt install nginx -y
# 建立伺服器區塊配置
sudo vim /etc/nginx/sites-available/yourdomain.conf
# 基本Nginx配置與安全標頭資訊
server {
listen 80;
server_name yourdomain.com;
root /var/www/yourdomain;
# 安全標頭資訊
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
location / {
try_files $uri $uri/ =404;
}
}
# 啟用配置
sudo ln -s /etc/nginx/sites-available/yourdomain.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx效能優化和監控
實施適當的監控和優化技術可確保您的Linux伺服器保持最佳效能。讓我們設定基本的監控工具和優化配置:
系統監控設定
# 安裝Prometheus用於指標收集
sudo apt install -y prometheus
# 安裝Node Exporter用於硬體/作業系統指標
sudo apt install -y prometheus-node-exporter
# 安裝Grafana用於視覺化
sudo apt install -y grafana
# 啟用並啟動服務
sudo systemctl enable prometheus
sudo systemctl start prometheus
sudo systemctl enable prometheus-node-exporter
sudo systemctl start prometheus-node-exporter
sudo systemctl enable grafana-server
sudo systemctl start grafana-server需要監控的關鍵指標包括:
- CPU使用率和負載平均值
- 記憶體使用率和交換空間使用情況
- 磁碟I/O和儲存容量
- 網路吞吐量和連接狀態
效能調校
透過以下系統級調整優化伺服器效能:
# 調整核心參數以提高效能
sudo vim /etc/sysctl.conf
# 新增或修改這些行:
# 增加系統檔案描述符限制
fs.file-max = 2097152
# 優化網路效能
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535
net.ipv4.tcp_max_syn_backlog = 65535
# 套用更改
sudo sysctl -p
# 優化SSH連接
sudo vim /etc/ssh/sshd_config
ClientAliveInterval 300
ClientAliveCountMax 2
# 配置系統限制
sudo vim /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535備份策略和災難復原
使用rsync和cron實現自動備份系統:
# 建立備份腳本
sudo vim /usr/local/bin/backup.sh
#!/bin/bash
BACKUP_DIR="/backup"
DATETIME=$(date +%Y%m%d_%H%M%S)
rsync -avz --delete /var/www/ $BACKUP_DIR/www_$DATETIME/
rsync -avz --delete /etc/ $BACKUP_DIR/etc_$DATETIME/
# 使腳本可執行
sudo chmod +x /usr/local/bin/backup.sh
# 新增至crontab
sudo crontab -e
0 2 * * * /usr/local/bin/backup.sh定期維護任務應包括:
- 自動安全更新
- 日誌輪替和分析
- 磁碟空間監控
- 資料庫優化
常見問題故障排除
遇到伺服器問題時,請遵循以下系統方法:
# 檢查系統日誌
sudo journalctl -xe
# 監控即時系統統計資訊
htop
# 檢查磁碟使用情況
df -h
du -sh /*
# 監控網路連接
netstat -tupln
ss -tunlp對於任何從事Web基礎設施工作的技術專業人員來說,理解Linux伺服器管理都是至關重要的。無論您是託管應用程式、管理資料庫還是執行開發環境,這些Linux伺服器設定和維護的基礎知識都將為您的技術之路奠定堅實的基礎。
