−25%

Windows 年繳方案適用,至 10 月 31 日。 檢視方案

EQVPS
開始使用

如何在 VPS 上安裝 WordPress(Nginx、PHP、MariaDB)

在 Ubuntu 24.04 上用 Nginx、PHP-FPM、MariaDB 和免費 HTTPS 乾淨地安裝 WordPress,以及對速度和安全最重要的那些設定。

託管式 WordPress 主機按站點收費,還把設定藏了起來。在您自己的 VPS 上,您擁有整台伺服器、能承載多少網站就放多少,並能完全掌控 PHP 和快取。經典的組合(Nginx、PHP-FPM、MariaDB)在 Ubuntu 24.04 上大約十五分鐘就能裝好。

開始之前: 您需要一個帶獨立 IP的方案(訪客連線 80/443 埠;NAT 方案不接受對內 Web 流量),以及一個 A 記錄指向伺服器的網域。每月 $10 的 Micro-IP 是普通網站的舒適之選。

1. 安裝軟體棧

apt update
apt install -y nginx mariadb-server php8.3-fpm php8.3-mysql php8.3-curl \
  php8.3-gd php8.3-intl php8.3-mbstring php8.3-xml php8.3-zip

2. 建立資料庫

在 Ubuntu 上,MariaDB 允許 root 透過本機套接字免密碼登入:

mariadb <<'SQL'
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4;
CREATE USER 'wp'@'localhost' IDENTIFIED BY 'use-a-long-random-password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp'@'localhost';
FLUSH PRIVILEGES;
SQL

3. 下載 WordPress

cd /tmp && curl -O https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz
mv wordpress /var/www/example.com
chown -R www-data:www-data /var/www/example.com

4. 設定 Nginx

cat > /etc/nginx/sites-available/example.com <<'EOF'
server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/example.com;
    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 ~ /\.(?!well-known) { deny all; }
}
EOF

ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
rm -f /etc/nginx/sites-enabled/default
nginx -t && systemctl reload nginx

try_files 這一行就是讓漂亮的固定連結生效的關鍵:它相當於 WordPress .htaccess 規則在 Nginx 中的等價寫法。

把 PHP 的上傳限制調大到與 client_max_body_size 一致:

sed -i 's/^upload_max_filesize.*/upload_max_filesize = 64M/; s/^post_max_size.*/post_max_size = 64M/' /etc/php/8.3/fpm/php.ini
systemctl restart php8.3-fpm

5. 免費 HTTPS

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

Certbot 會修改 Nginx 設定以啟用 HTTPS,並設定自動續期。

6. 在瀏覽器中完成安裝

開啟 https://example.com,填入資料庫名(wordpress)、使用者(wp)和第 2 步的密碼,然後建立您的管理員帳戶。請選一個不是 「admin」 的管理員使用者名稱。

又快又安全

  • 防火牆: ufw allow 22/tcp && ufw allow 'Nginx Full' && ufw enable。
  • 更新: 在後台開啟 WordPress 核心的自動更新;伺服器層面則啟用自動安全更新。
  • 快取: 在小機器上,一個頁面快取外掛帶來的提升勝過任何伺服器調優。
  • 備份: Managed Backups 保留整台伺服器的每日還原點(每月 $2,年繳方案免費)。想要可攜帶的副本,再加上 mysqldump wordpress > wp.sql 和 wp-content 資料夾。
  • 記憶體: 在 1 GB 的伺服器上,加一個 2 GB 的 swap 檔案。

相關

常見問題

WordPress 需要哪個方案?

普通網站在 Micro-IP(2 GB 記憶體,每月 $10)上就能流暢執行。如果加上 swap 檔案,Nano-IP(1 GB)也能撐起一個小網站。您需要帶獨立 IP 的方案,因為訪客會連線 80 和 443 埠;NAT 方案不接受對內 Web 流量。

WordPress 用 Nginx 還是 Apache?

兩者都可以。搭配 PHP-FPM 的 Nginx 在負載下佔用的記憶體更少,這對小伺服器很重要。您唯一失去的是 .htaccess:Nginx 的規則寫在 server 塊裡,WordPress 標準的固定連結只需要一行。

怎麼啟用 HTTPS?

把網域的 A 記錄指向伺服器,然後用 Nginx 外掛執行 certbot。它會申請免費的 Let's Encrypt 憑證、修改設定,並每隔幾個月自動續期。

怎麼備份 WordPress?

您需要兩樣東西:資料庫(mysqldump)和 wp-content 資料夾。Managed Backups 每天覆制整台伺服器,而外掛或執行 mysqldump 的 cron 任務能給您可以存放到別處的檔案級副本。

自託管的 WordPress 安全嗎?

您維護得多好,它就有多安全。開啟 WordPress 核心和您信任的外掛的自動更新,刪除不用的外掛,使用強管理員密碼,並用 unattended-upgrades 讓伺服器本身保持最新。

評論

目前還沒有評論。歡迎成為第一位。

發表評論

評論在顯示前會經過審核。