−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” 的管理员用户名。

又快又安全

相关

常见问题

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 让服务器本身保持最新。

评论

暂无评论。来做第一个吧。

发表评论

评论在显示前会经过审核。