HELPER VPS

VPS 安裝 WordPress,按 WordPress、LEMP、Docker 映像檔分別介紹

在自己的伺服器上直接安裝 WordPress,外掛、主題乃至伺服器設定都可以隨心決定。根據建立伺服器時選擇的映像檔,挑選最合適的安裝方法照著做即可。

三種方法任選

在 HELPER VPS,只需在建立伺服器時選擇映像檔,就能大幅減少 WordPress 的準備工作。選擇適合自己情況的一種方法即可。

  • WordPress 映像檔:在 Ubuntu 24.04 上裝好 Nginx、MySQL、PHP 和 WordPress。只需在瀏覽器中完成安裝頁面,是開設一個部落格最快的方法。
  • LEMP 映像檔:在備好 Nginx、MySQL、PHP 的伺服器上自行部署 WordPress。適合在一台伺服器上放多個網站,或想自己決定目錄結構和設定時。
  • Docker 映像檔:以容器方式執行 WordPress 和資料庫。便於把網站遷移到其他伺服器,或多次搭建相同的環境。

小型部落格從最小的 12GB 通用方案開始就足夠了,而網路商店或繁忙的網站在磁碟速度更快的 NVMe 高效能伺服器上打開頁面會更輕快。規格建議請參閱 WordPress VPS 頁面。

先繫結網域

如果打算使用網域,安裝前先繫結好,就能一次取得 HTTPS 證書。在購買網域處的 DNS 管理頁面建立以下兩條記錄。

  • A 記錄:名稱 @(以及 www),值為伺服器的 IPv4 地址
  • AAAA 記錄:名稱 @(以及 www),值為伺服器的 IPv6 地址

記錄生效通常需要幾分鐘到幾小時。在伺服器上執行 ping -c 3 example.com,顯示自己伺服器的 IP 就說明準備好了。請把下面命令中的 example.com 換成自己的網域後輸入。

方法1. 用 WordPress 映像檔直接開始

  • 在建立伺服器頁面選擇地區和規格,在映像檔列表中選擇 WordPress。
  • 伺服器變為執行中後,在瀏覽器中開啟 http://YOUR_SERVER_IP。
  • 選擇語言,設定網站標題、管理員使用者名稱、密碼和郵箱,安裝即告完成。
  • 透過 http://YOUR_SERVER_IP/wp-admin 進入管理後台。

管理員密碼設得又長又複雜,使用者名稱不用 admin 而用只有自己知道的名稱,面對登入嘗試更穩固。網域繫結和 HTTPS 按下面的 HTTPS 步驟照做即可。

方法2. 在 LEMP 伺服器上自行安裝

LEMP 映像檔中已裝好 Nginx、MySQL、PHP-FPM。只需補充 WordPress 所需的 PHP 擴充套件、資料庫和網站配置。以 Ubuntu 24.04 為準,其他 Ubuntu 和 Debian 步驟相同。

第1步. 安裝 PHP 擴充套件

終端
apt update
apt install -y php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl php-imagick
php -v
ls /run/php/

php -v 顯示 PHP 版本,ls /run/php/ 顯示 PHP-FPM 套接字名稱。Ubuntu 24.04 是 PHP 8.3,顯示 php8.3-fpm.sock;Debian 13 是 PHP 8.4,顯示 php8.4-fpm.sock。下面的 Nginx 配置中直接使用這個名稱。

第2步. 建立資料庫和使用者

以 root 登入的狀態下執行 mysql,無需密碼即可進入 MySQL。用下面四行建立 WordPress 專用的資料庫和使用者。密碼請換成足夠長的再填入,並記下來。

mysql
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'change_this_long_password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

第3步. 下載 WordPress

終端
cd /var/www
curl -O https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz && rm latest.tar.gz
chown -R www-data:www-data /var/www/wordpress

把目錄所有者改為網站伺服器使用者(www-data),瀏覽器安裝頁面就能直接生成配置檔案,外掛和主題也能在管理後台直接安裝。

第4步. Nginx 網站配置

/etc/nginx/sites-available/wordpress
server {
    listen 80;
    listen [::]:80;
    server_name example.com www.example.com;
    root /var/www/wordpress;
    index index.php;
    client_max_body_size 64m;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    }
    location ~ /\.ht {
        deny all;
    }
}
終端
ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

nginx -t 顯示 syntax is ok、test is successful,就說明配置正確。如果還沒有網域,在 server_name 中寫 _ 並刪除預設站點(/etc/nginx/sites-enabled/default)的連結,就能用 IP 地址開啟。

第5步. 在瀏覽器中完成安裝

開啟 http://example.com 會出現安裝頁面。填入資料庫名 wordpress、使用者 wpuser、第2步設定的密碼、主機 localhost,再設定網站標題和管理員帳戶即可。

方法3. 用 Docker Compose 安裝

用 Docker 映像檔建立的伺服器,或自行安裝了 Docker 的伺服器,一個檔案即可同時執行 WordPress 和 MariaDB。兩個密碼請換成足夠長的再填入。

終端
mkdir -p /opt/wordpress && cd /opt/wordpress
cat > compose.yaml <<'EOF'
services:
  db:
    image: mariadb:11
    restart: unless-stopped
    environment:
      MARIADB_DATABASE: wordpress
      MARIADB_USER: wpuser
      MARIADB_PASSWORD: change_this_long_password
      MARIADB_ROOT_PASSWORD: change_this_other_password
    volumes:
      - db:/var/lib/mysql
  wordpress:
    image: wordpress:latest
    restart: unless-stopped
    depends_on:
      - db
    ports:
      - "80:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wpuser
      WORDPRESS_DB_PASSWORD: change_this_long_password
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wp:/var/www/html
volumes:
  db:
  wp:
EOF
docker compose up -d

開啟 http://YOUR_SERVER_IP 會出現安裝頁面。資料庫資訊已寫在檔案中,只需設定網站標題和管理員帳戶。文章和上傳檔案儲存在 wp 卷中,資料庫儲存在 db 卷中,把容器換成新版本也會原樣保留。

為用 Docker 部署的網站配置 HTTPS 時,在前面放一個反向代理最乾淨。使用只需在介面中填入網域就能自動配好證書的 Coolify 或 Dokploy 映像檔,會更簡單。

配置 HTTPS 證書

WordPress 映像檔和 LEMP 伺服器可以用 Certbot 取得 Let's Encrypt 免費證書,直接配置到 Nginx。網域必須已指向伺服器 IP。

終端
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com

填入郵箱並同意條款後,證書就會簽發,Nginx 配置中會加入 HTTPS。證書由 Certbot 自動續期。然後在 WordPress 後台的“設定 > 常規”中,把 WordPress 地址和站點地址改為 https。如果使用防火牆,請用 ufw allow 80,443/tcp 開放這兩個連接埠。

安裝後最好完成的設定

  • 固定連結:在“設定 > 固定連結”中選擇文章名形式,地址會更易讀。上面 Nginx 配置中的 try_files 一行負責處理這類地址。
  • 上傳大小:要上傳大圖片或主題檔案,請把 Nginx 的 client_max_body_size 與 /etc/php/8.3/fpm/php.ini 中的 upload_max_filesize、post_max_size 調成相同大小,再執行 systemctl restart php8.3-fpm。
  • 郵件傳送:會員註冊、找回密碼、訂單通知等郵件,用 SMTP 外掛連線郵件傳送服務的587或465連接埠傳送。方法見郵件傳送指南。
  • 更新:WordPress 本體、外掛和主題在管理後台更新,伺服器用 apt update && apt upgrade -y 定期更新到最新。
  • 備份:文章和資料庫是無法重建的資產。建立伺服器時開啟自動備份,或按備份與快照指南的方法留存副本。

想從頭重新安裝時,在伺服器頁面的重灌中重新選擇 WordPress 映像檔,即可回到乾淨狀態。磁碟會全新安裝,需要的文章請先用“工具 > 匯出”下載,步驟可參考重灌指南。

推薦一起閱讀的指南

接著本指南做好會更好的設定。

檢視全部指南