阿里雲香港 VM 搭建 LNMP 環境與 PHP 網站遷移實作指南
2026-03-21以下是針對三項服務內容(雲主機建立、LNMP環境部署、PHP網站遷移)的詳細操作步驟與設定方法,並附上阿里雲官方支援的獲取方式。
一、雲端主機規劃與建立(阿里雲香港 VM)
1.1 註冊與實名認證
- 前往阿里雲官網註冊帳號,完成實名認證(企業或個人皆可)。
- 建議由客戶自行註冊並將你加入為 RAM 子帳號或提供操作權限,以便日後移交。
1.2 選擇香港區域並建立 ECS 執行個體
- 登入阿里雲控制台,在左上角「產品與服務」中選擇 雲伺服器 ECS。
- 點擊「建立執行個體」,依序設定以下項目:
- 計費方式:依客戶需求選擇「隨用隨付」或「包年包月」。
- 地區與可用區:選擇 中國香港(cn-hongkong),可用區任選(如 cn-hongkong-b / c / d),一般選隨機或可用區B/C即可。
- 執行個體規格:建議 4核8G(例如 ecs.g6.xlarge 或 ecs.c6.xlarge 系列)。
- 鏡像(作業系統):選擇 Linux 發行版,建議 Alibaba Cloud Linux 3、CentOS 7/8 或 Ubuntu 22.04(後續 LNMP 環境搭建較順暢)。
- 儲存:系統碟建議 40~100 GB 高效雲端碟或 SSD,依兩套程式資料量決定。
- 網路:選擇 VPC 專有網路,並勾選「分配公網 IPv4 地址」,以便後續 SSH 登入與網站訪問。
- 安全群組:新建或選擇現有安全群組,並先開放必要的入方向規則(見下一節)。
- 確認配置後下單支付(雲端主機費用由客戶另行支付)。
1.3 設定安全群組(防火牆)
安全群組是阿里雲的第一層虛擬防火牆,必須正確設定才能讓外網存取。
- 在 ECS 控制台左側找到「網路與安全」→「安全群組」,點選你 VM 所屬的安全群組。
- 進入「入方向」規則,點選「手動添加」,至少加入以下規則:
| 連接埠 | 用途 | 授權對象(來源) | 建議限制 |
|---|---|---|---|
| 22 | SSH 遠端管理 | 你的辦公室IP 或 跳板機IP | 禁止 0.0.0.0/0,避免暴力破解 |
| 80 | HTTP 網頁訪問 | 0.0.0.0/0 | 必要,對全網開放 |
| 443 | HTTPS 網頁訪問(若有) | 0.0.0.0/0 | 必要,對全網開放 |
安全提醒:22 連接埠切勿開放給 0.0.0.0/0,應僅開放給自己的固定公網IP。
1.4 連線至 VM 進行後續設定
- 建立完成後,在 ECS 執行個體列表取得 公網 IP。
- 使用 SSH 工具(如終端機、Putty、Xshell)連線:
ssh root@<你的公網IP>
- 初始密碼若未設定,可透過阿里雲控制台「遠端連線」→「Workbench」登入後修改 root 密碼。
二、PHP 運行環境部署(LNMP)
此處以 Alibaba Cloud Linux 3 / CentOS 7/8 為例,Ubuntu 差異可參考官方文檔。
2.1 更新系統
# Alibaba Cloud Linux 3 / CentOS 8
sudo dnf update -y
# CentOS 7
sudo yum update -y
2.2 安裝 Nginx
# 添加 Nginx 官方源(以 CentOS 7 為例)
sudo tee /etc/yum.repos.d/nginx.repo <<-'EOF'
[nginx-stable]
name=nginx stable repo baseurl=https://nginx.org/packages/centos/7/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key EOF # 安裝 Nginx sudo yum install -y nginx # 啟動並設定開機自啟 sudo systemctl enable –now nginx
2.3 安裝 MySQL
# 添加 MySQL 8.4 官方源
sudo rpm -Uvh https://repo.mysql.com/mysql84-community-release-el7-1.noarch.rpm
# 安裝 MySQL 服務
sudo yum install -y mysql-server
# 啟動並設為開機自啟
sudo systemctl enable --now mysqld
# 取得 MySQL 初始 root 密碼
sudo grep 'temporary password' /var/log/mysqld.log
# 執行安全設定(設定新密碼、移除匿名帳號、禁止 root 遠端登入等)
sudo mysql_secure_installation
若使用 Ubuntu,可直接
sudo apt install -y mysql-server,且預設無初始密碼。
2.4 安裝 PHP 及必要擴充
以 PHP 8.2 為例(若客戶舊程式需特定版本,請調整):
# 安裝 Remi 源並啟用 PHP 8.2
sudo yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum install -y yum-utils
sudo yum-config-manager --enable remi-php82
# 安裝 PHP、PHP-FPM 及 MySQL 擴充
sudo yum install -y php php-fpm php-mysqlnd
# 啟動 PHP-FPM 並設開機自啟
sudo systemctl enable --now php-fpm
若使用 Ubuntu,可用
add-apt-repository ppa:ondrej/php安裝對應版本。
2.5 配置 Nginx 支援 PHP
- 備份預設配置檔:
sudo cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak
- 編輯
/etc/nginx/conf.d/default.conf,修改 server 區塊如下:
server {
listen 80;
server_name _; # 暫時用底線,後續再綁定域名
root /usr/share/nginx/html; # 網站根目錄,可改為你的路徑
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000; # 若使用 socket 則為 unix:/run/php-fpm/www.sock
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
- 測試並重新載入 Nginx:
sudo nginx -t
sudo systemctl reload nginx
- 建立測試 PHP 檔案確認環境:
echo "<?php phpinfo(); ?>" | sudo tee /usr/share/nginx/html/info.php
在瀏覽器訪問 http://你的IP/info.php,出現 PHP 資訊頁即代表 LNMP 環境成功。
2.6 針對兩套 PHP 程式的環境優化
- 根據程式需求安裝額外 PHP 擴充(如
php-gd、php-mbstring、php-zip等):
sudo yum install -y php-gd php-mbstring php-zip
sudo systemctl restart php-fpm
- 調整 PHP-FPM 的
pm.max_children等參數(視記憶體大小而定),可優化並發效能。 - 若兩套程式使用不同資料庫,需建立對應的 MySQL 資料庫與帳號。
三、PHP 網站完整遷移的方法
3.1 程式檔案遷移
- 從舊伺服器打包下載:
# 假設舊伺服器為 Linux,SSH 連入後執行
tar -czvf website1.tar.gz /path/to/website1
使用 scp 或 rsync 傳送至新 VM:
scp website1.tar.gz root@<新VM IP>:/tmp/
- 在新 VM 上解壓至正確目錄(例如
/var/www/html/website1):
mkdir -p /var/www/html/website1
tar -xzvf /tmp/website1.tar.gz -C /var/www/html/website1
- 設定目錄權限(以 Nginx 使用者為準,通常為
nginx或www-data):
chown -R nginx:nginx /var/www/html/website1
3.2 資料庫搬遷
- 在舊伺服器匯出資料庫:
mysqldump -u root -p --all-databases > all_databases.sql
或只匯出特定兩個資料庫:mysqldump -u root -p db1 db2 > dbs.sql
- 將 SQL 檔案傳至新 VM:
scp all_databases.sql root@<新VM IP>:/tmp/
- 在新 VM 匯入資料庫:
mysql -u root -p < /tmp/all_databases.sql
- 建立資料庫專用帳號(若兩程式分開)並授權。
3.3 設定檔修改(重點)
- 資料庫連線資訊:找到兩個程式的設定檔(如
.env、config.php),將資料庫主機、帳號、密碼改為新 VM 上的資訊。
- 若使用 RDS 等外部資料庫,請參考內網 DNS 方式避免修改程式碼。
- 檔案路徑調整:若舊伺服器路徑與新 VM 不同,需一併修改設定檔中的絕對路徑。
- Nginx 虛擬主機配置:若兩套程式使用不同域名,需分別建立
.conf檔並設定正確的server_name和root。
3.4 域名綁定
- 將客戶的域名 DNS 解析指向新 VM 的公網 IP(A 記錄)。
- 若需 HTTPS,可申請阿里雲免費 SSL 憑證(或使用 Let’s Encrypt),並在 Nginx 設定 443 埠監聽。
3.5 最終功能測試
- 分別訪問兩個網站的前後台,測試登入、表單提交、資料庫讀寫等核心功能。
- 檢查 PHP 錯誤日誌與 Nginx 錯誤日誌,排除遺漏的擴充或路徑問題。
- 測試完畢後刪除
info.php測試檔,避免資訊洩漏。
四、獲得阿里雲技術支援的方式
若在操作過程中遇到雲平台層面的問題,可透過以下方式取得官方支援:
| 支援管道 | 說明 |
|---|---|
| 阿里雲官方文檔 | ECS 產品文檔、LNMP 部署文檔 |
| 工單系統 | 登入控制台 → 右上角「工單」→「提交工單」,選擇「技術支援」類別,可針對 ECS、安全群組等問題提問 |
| 售後服務 | 若客戶購買了阿里雲商業支援計劃(如企業級支援),可享有專屬技術經理與更快速的回應 |
| 線上客服 | 控制台右下角「耳機」圖示,可連線至線上客服(一般問題適用) |
注意:阿里雲官方技術支援 不包含 作業系統內部的 LNMP 環境配置與應用程式遷移細節,這些屬於你的專業服務範疇。如遇到 Linux 系統或 PHP 程式本身的問題,需自行排解或另尋專業人士。
以上為從零到完成遷移的完整操作流程。實作時建議先在測試環境演練一次,確保 PHP 程式與新環境完全相容後,再排定正式切換時間。也可以參考以下視頻了解畫面的實際操作。



