剛購買阿里雲 ECS(雲服務器)和域名,想部署 PHP 專案(如 ThinkPHP、Laravel、WordPress 或自寫代碼)。本文提供**從建立實例到網站上線**的標準化操作手冊,適合初學者按步驟執行。
# 1. SSH 登入
ssh root@你的公網IP
# 2. 一鍵安裝寶塔(官網最新指令)
# Ubuntu/Deepin
wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
# CentOS/Alibaba Cloud Linux
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh
# 3. 瀏覽器訪問 https://IP:8888,按提示綁定寶塔賬號、安裝 LNMP(Nginx + MySQL + PHP)
# 建議:Nginx 1.24、MySQL 8.0、PHP 8.1/8.2、Pure-FTPd、phpMyAdmin
# Ubuntu 22.04 範例
apt update && apt upgrade -y
apt install -y nginx mysql-server php8.1-fpm php8.1-mysql php8.1-xml php8.1-mbstring php8.1-curl php8.1-zip php8.1-gd php8.1-bcmath
# 配置 Nginx 虛擬主機
cat > /etc/nginx/sites-available/mysite <<'EOF'
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
root /var/www/mysite/public; # Laravel/ThinkPHP 指向 public
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
EOF
ln -s /etc/nginx/sites-available/mysite /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
# MySQL 安全初始化
mysql_secure_installation
# 建立資料庫/用戶
mysql -u root -p -e "CREATE DATABASE mysite CHARSET utf8mb4; CREATE USER 'mysite'@'%' IDENTIFIED BY 'StrongPass123!'; GRANT ALL ON mysite.* TO 'mysite'@'%'; FLUSH PRIVILEGES;"
# docker-compose.yml
version: '3.8'
services:
nginx:
image: nginx:alpine
ports: ["80:80", "443:443"]
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d
- ./www:/var/www/html
php:
image: php:8.2-fpm-alpine
volumes:
- ./www:/var/www/html
mysql:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: mysite
MYSQL_USER: mysite
MYSQL_PASSWORD: userpass
volumes:
- mysql_data:/var/lib/mysql
volumes:
mysql_data:
| 方式 | 適用場景 | 操作 |
|---|---|---|
| 寶塔面板「網站」→「根目錄」上傳 | 新手、小項目 | 壓縮代碼為 zip → 面板文件管理上傳解壓 → 設置運行目錄為 public |
| SCP / SFTP(FileZilla、WinSCP、scp 命令) | 手動環境、CI/CD 前置 | `scp -r ./dist root@IP:/var/www/mysite` |
| Git Clone + Composer Install | 團隊協作、版本控制 | 服務器安裝 Git、Composer → `git clone ... && composer install --no-dev` |
| CI/CD(GitHub Actions / GitLab CI / 寶塔一鍵部署) | 自動化發布 | 配置 Deploy Key、編寫 workflow yaml |
按上述流程操作,30 分鐘內即可將 PHP 專案部署至阿里雲 ECS 並通過域名訪問。遇到具體報錯,查看 Nginx 錯誤日誌(`/var/log/nginx/error.log`)與 PHP-FPM 日誌(`/var/log/php8.1-fpm.log`)即可定位。