一份清晰的分步指南,教你如何使用 Nginx、MariaDB 和 PHP-FPM(即 LEMP 技术栈)在 Ubuntu VPS 上安装 WordPress——涵盖数据库配置、安全的 Nginx server 块、PHP 调优,以及免费的 Let's Encrypt SSL 证书。
SKYLINE Engineering @skyline
发布于 2026 年 6 月 8 日 | 阅读时间:6 分钟
如何在 VPS 上使用 LEMP 技术栈部署 WordPress
在自己的 VPS 上运行 WordPress,能让你完全掌控性能、安全性和资源——而不会受到共享主机那种"邻里争抢"的限制。LEMP 技术栈(Linux、Nginx、MariaDB/MySQL、PHP)是当今大多数生产环境 WordPress 站点所采用的现代化、高吞吐基础,因为在高负载下,Nginx 处理并发连接的效率比 Apache 更高。
本指南将完整演示在 Ubuntu 24.04 LTS 上进行一次可直接用于生产环境的安装。如果你使用 Skyline Cloud VPS 托管,还能获得境内(沙特境内)数据驻留以及符合 PDPL/NCA 要求的基础设施——当你的受众或合规范围位于沙特阿拉伯及海湾合作委员会(GCC)地区时,这一点尤为重要。
开始之前
你需要准备:
- 一台运行 Ubuntu 24.04 的 VPS,具备公网 IP 以及 root 或
sudo权限。 - 一个域名,其 A 记录指向你的 VPS IP(并将
www配置为 CNAME 或第二条 A 记录)。 - 服务器的 SSH 访问权限。
在全文中,请将 example.com 替换为你的真实域名。
第 1 步——更新系统并安装 Nginx
通过 SSH 登录服务器,然后刷新软件包并安装 Web 服务器:
sudo apt update && sudo apt upgrade -y
sudo apt install nginx -y
在防火墙中放行 HTTP 和 HTTPS:
sudo ufw allow 'Nginx Full'
sudo ufw allow OpenSSH
sudo ufw enable
访问 http://your_server_ip,你应该会看到 Nginx 默认的欢迎页面。
第 2 步——安装并加固 MariaDB
MariaDB 是一个可直接替换的开源 MySQL 替代品:
sudo apt install mariadb-server -y
sudo mysql_secure_installation
逐项回答提示:设置 root 密码、移除匿名用户、禁止 root 远程登录,并删除测试数据库。接下来为 WordPress 创建一个专用的数据库和用户:
sudo mysql
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'StrongPasswordHere';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
请使用一个长且随机的密码——不要使用上面的示例。
第 3 步——安装 PHP-FPM 及所需扩展
Nginx 本身并不处理 PHP,因此它会将请求交给 PHP-FPM。安装 PHP 以及 WordPress 所需的扩展:
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring \
php-xml php-xmlrpc php-zip php-intl php-imagick -y
确认正在运行的版本(Ubuntu 24.04 自带 PHP 8.3):
php -v
记下 FPM 的 socket 路径——它将是 /run/php/php8.3-fpm.sock。对于 WordPress 这类工作负载,请在 /etc/php/8.3/fpm/php.ini 中调高几项 PHP 限制:
| 配置项 | 推荐值 |
|---|---|
upload_max_filesize |
64M |
post_max_size |
64M |
memory_limit |
256M |
max_execution_time |
120 |
然后重启 FPM:
sudo systemctl restart php8.3-fpm
第 4 步——下载 WordPress
将最新版本下载到 Web 根目录:
cd /tmp
curl -O https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz
sudo mkdir -p /var/www/example.com
sudo cp -a /tmp/wordpress/. /var/www/example.com
设置好属主权限,让 PHP-FPM(以 www-data 身份运行)能够写入上传文件和执行更新,同时保持权限收紧:
sudo chown -R www-data:www-data /var/www/example.com
sudo find /var/www/example.com -type d -exec chmod 755 {} \;
sudo find /var/www/example.com -type f -exec chmod 644 {} \;
第 5 步——创建 Nginx server 块
创建 /etc/nginx/sites-available/example.com:
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
# Block access to sensitive files
location ~ /\.ht { deny all; }
location = /wp-config.php { deny all; }
location ~* /(?:uploads|files)/.*\.php$ { deny all; }
# Long cache for static assets
location ~* \.(js|css|png|jpg|jpeg|gif|svg|woff2)$ {
expires 30d;
access_log off;
}
}
启用该站点、移除默认站点,并测试配置:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl reload nginx
第 6 步——配置 wp-config.php
WordPress 可以在 Web 安装向导过程中写入配置文件,但手动完成更为整洁也更安全。复制示例文件并进行编辑:
sudo cp /var/www/example.com/wp-config-sample.php /var/www/example.com/wp-config.php
设置你的数据库名(wordpress)、用户(wp_user)和密码。然后用从官方 salt 服务生成的全新值,替换掉占位的身份验证密钥:
curl -s https://api.wordpress.org/secret-key/1.1/salt/
将输出内容粘贴覆盖 define('AUTH_KEY', ...) 这一段。这些 salt 能够加固会话 Cookie 的安全性。
第 7 步——完成安装并添加 SSL
在浏览器中打开 http://example.com。WordPress 会要求你填写站点标题、管理员用户名以及一个强密码——请勿使用 admin 作为用户名。完成向导并登录。
现在用一张免费的 Let's Encrypt 证书来保护站点安全:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example.com -d www.example.com
Certbot 会修改你的 server 块以监听 443 端口、将 HTTP 重定向到 HTTPS,并通过 systemd 定时器设置自动续期。用 sudo certbot renew --dry-run 验证续期是否正常工作。
第 8 步——安装后的加固
以下几项小改动在生产环境中能带来实实在在的回报:
- 自动更新: 在 WordPress 内部启用后台的次要核心更新与插件更新。
- 禁用文件编辑:在管理后台中,向
wp-config.php添加define('DISALLOW_FILE_EDIT', true);。 - 使用对象缓存(Redis)并搭配页面缓存插件,以降低 PHP 和数据库的负载。
- 定期备份到服务器之外的存储,这样一次糟糕的更新或攻击之后仍能恢复。Skyline Cloud 提供托管的云备份与对象存储,你可以从自己的 VPS 将数据定向备份到那里。
如需更深入地了解本地区的 WordPress 性能与主机选型,请查看我们的沙特阿拉伯 WordPress 主机资源中心。
为什么要在境内(沙特境内)托管
如果你的访客身处沙特阿拉伯,将 VPS 部署在本地数据中心能够显著降低延迟,并将个人数据保留在沙特境内——直接契合 PDPL 与 NCA 的要求。再为你的站点搭配同一服务商提供的企业邮箱托管,即可获得整洁、带品牌标识的 you@example.com 配置以及本地阿拉伯语支持。
开始动手搭建
现在,你已经在 LEMP 技术栈上拥有了一个快速、安全、完全归你所有的 WordPress 安装。立即启动你的 VPS,几分钟内即可完成部署——创建你的 Skyline Cloud 账户,即可开始享受境内(沙特境内)数据驻留与透明定价。

Comments
0 total · 0 threads