Home Knowledge base Skyline Cloud 如何在 VPS 上使用 LEMP 技术栈部署 WordPress KNOWLEDGE BASE

如何在 VPS 上使用 LEMP 技术栈部署 WordPress

一份清晰的分步指南,教你如何使用 Nginx、MariaDB 和 PHP-FPM(即 LEMP 技术栈)在 Ubuntu VPS 上安装 WordPress——涵盖数据库配置、安全的 Nginx server 块、PHP 调优,以及免费的 Let's Encrypt SSL 证书。

如何在 VPS 上使用 LEMP 技术栈部署 WordPress

一份清晰的分步指南,教你如何使用 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 账户,即可开始享受境内(沙特境内)数据驻留与透明定价。

SKYLINE Engineering

@skyline

The engineering team at SKYLINE Industrial Solutions. We publish field-tested guides drawn from real KSA and GCC deployments.

See author profile
SKYLINE engineering services

Need this implemented for you?

Reading is free — building it right takes a team. SKYLINE engineers ship Skyline Cloud for Aramco vendors, banks, hospitals and government agencies across Saudi Arabia. Talk to us before you start.

Aramco Approved Contractor ISO 9001 · ISO 27001 SAMA CSF aligned NCA ECC ready 247+ KSA clients

Comments

0 total · 0 threads
Be the first to leave a comment.