簡介:設定 Ubuntu 伺服器以託管網站和 Web 應用程式
Ubuntu Server 是一款強大而靈活的作業系統,深受開發人員和系統管理員信賴,廣泛用於託管和 Web 應用程式部署。無論您是架設伺服器來託管網站、管理基於雲端的服務,還是部署現代 Web 應用程式,Ubuntu Server 都能提供您成功所需的可靠性、可擴充性和工具。
在本指南中,我們將帶您完成為託管和 Web 應用程式環境設定 Ubuntu 伺服器的基本步驟。從架設 Web 伺服器(Apache 或 Nginx),到使用 SSL 保護您的網站,再到針對生產環境最佳化效能,本文將協助您建置一台功能完備的伺服器,隨時滿足您的託管和應用程式需求。
往期文章:
01. Ubuntu Server 簡介 – SysOSX: AI & Cloud
02. 如何架設您的第一台 Ubuntu 伺服器:初學者指南 – SysOSX: AI & Cloud
03.精通 Ubuntu Server 的 Linux 命令列 – SysOSX: AI & Cloud
04. 在 Ubuntu Server 上管理使用者和權限:綜合指南 – SysOSX: AI & Cloud
05. Ubuntu Server 網路基礎:綜合指南 – SysOSX: AI & Cloud
06. 在 Ubuntu Server 上安裝和管理軟體:完整指南 – SysOSX: AI & Cloud
07.Ubuntu Server 的修補程式與更新:綜合指南 – SysOSX: AI & Cloud
08. 保護您的 Ubuntu 伺服器:強化與防護的實用步驟 – SysOSX: AI & Cloud
10. Ubuntu Server 系統監控工具:綜合指南 – SysOSX: AI & Cloud
11. Ubuntu 伺服器集中式日誌記錄:必讀指南 – SysOSX: AI & Cloud
12. Ubuntu Server 稽核與合規:最佳實務 – SysOSX: AI & Cloud
📋 先決條件清單
- Ubuntu Server 22.04 LTS(或更新版本)
- 具有 sudo 權限的終端存取
- 網域名稱(建議用於 SSL)
- 基本的 Linux 指令知識
- 最少 1GB 記憶體(建議 2GB)
🛠 初始伺服器設定
# Update system packages
sudo apt update && sudo apt upgrade -y
# Install essential tools
sudo apt install -y curl wget
🔥 防火牆設定
| 服務 | 允許的連接埠 | 指令 |
|---|---|---|
| Apache | 80, 443 | sudo ufw allow 'Apache Full' |
| Nginx | 80, 443 | sudo ufw allow 'Nginx Full' |
| SSH | 22 | sudo ufw allow OpenSSH |
啟用防火牆: sudo ufw enable
🌐 Web 伺服器比較
| 特性 | Apache | Nginx |
|---|---|---|
| 架構 | 處理程序驅動 | 事件驅動 |
| 最適合 | 傳統 Web 應用程式 | 高流量/靜態內容 |
| 設定語法 | .htaccess 檔案 | 伺服器區塊 |
| 效能 | 良好 | 優秀 |
| SSL 設定 | mod_ssl | OpenSSL |
🐧 Apache 設定指南
1. 安裝 Apache
sudo apt install apache2 -y
2. 虛擬主機設定
檔案: /etc/apache2/sites-available/yourdomain.conf
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName yourdomain.com
DocumentRoot /var/www/yourdomain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
啟用設定:
sudo a2ensite yourdomain.conf
sudo systemctl reload apache2
🚀 Nginx 設定指南
1. 安裝 Nginx
sudo apt install nginx -y
2. 伺服器區塊設定
檔案: /etc/nginx/sites-available/yourdomain
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
root /var/www/yourdomain;
location / {
try_files $uri $uri/ =404;
}
}
啟用設定:
sudo ln -s /etc/nginx/sites-available/yourdomain /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
🔒 使用 Let’s Encrypt 設定 SSL
對於 Apache:
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache --agree-tos -m [email protected] -d yourdomain.com
對於 Nginx:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx --agree-tos -m [email protected] -d yourdomain.com
自動續期測試:
sudo certbot renew --dry-run
🧪 驗證測試
- HTTP 狀態檢查:
curl -I http://yourdomain.com - SSL 驗證:
openssl s_client -connect yourdomain.com:443 - 伺服器標頭檢查:
curl -I | grep "Server"
🚨 故障排除技巧
- 權限問題:
sudo chown -R www-data:www-data /var/www/yourdomain - 連接埠衝突:
sudo lsof -i :80 - 設定錯誤:
sudo journalctl -xe - SSL 續期:
sudo certbot renew --force-renewal
📚 重要資源
💡 專業技巧
- 使用
systemd進行服務管理:
sudo systemctl [start|stop|restart|status] apache2/nginx
- 啟用 HTTP/2 以獲得更好的效能
- 使用以下工具設定自動備份:
rsync - 使用以下工具監控流量:
goaccess或ngxtop
最終建議:
對於大多數使用者,Nginx 開箱即用效能更好,而 Apache 則透過 .htaccess 檔案提供更大的靈活性。請根據您的具體應用需求進行選擇。
敬請期待下一篇文章
在下一篇文章中,我們將深入探討 在單一 Ubuntu 伺服器上託管多個網站! 在單一 Ubuntu 伺服器上託管多個網站 對於開發人員、小型企業和愛好者來說是一種經濟高效的解決方案。在下一篇文章中,我將引導您設定 虛擬主機 ,即在 Apache 和 Nginx 中進行設定,以便在同一伺服器上託管多個網站。
3 thoughts on “13.Setting Up Your Ubuntu Server for Hosting and Web Applications: Ultimate Guide”