本站包含联盟链接 — 通过链接注册,我们可能获得佣金。

DigitalOcean LEMP Stack 安装完整指南 2026

在 Ubuntu 24.04 Droplet 上安装 Nginx + MariaDB + PHP-FPM,配置虚拟主机与免费 SSL

DigitalOcean LEMP Stack 安装完整指南 2026

LEMP Stack 由 Linux、Nginx、MySQL(或 MariaDB)和 PHP-FPM 组成,是运行 PHP 网站(包括 WordPress)最流行的服务器组合之一。本教程将手把手带您在 DigitalOcean Droplet(Ubuntu 24.04 LTS)上完整部署 LEMP Stack,配置 Nginx 虚拟主机,并通过 Let's Encrypt 获取免费 SSL 证书,约 30 分钟即可完成。

准备 Droplet

在 DigitalOcean 创建 Droplet,选择 Ubuntu 24.04 LTS。Basic 套餐 1 GiB RAM / 1 vCPU / 25 GB SSD($6/月)适合中小型 PHP 网站。选择新加坡(Singapore)或班加罗尔(Bangalore)节点以获得较低延迟。

apt update && apt upgrade -y
adduser deploy && usermod -aG sudo deploy

安装 Nginx

Nginx 采用事件驱动架构,以极少内存处理大量并发连接,比 Apache 更适合小型 Droplet。

apt install nginx -y
systemctl enable nginx && systemctl start nginx
ufw allow 'Nginx Full' && ufw enable

在浏览器打开 http://<Droplet-IP>,看到 "Welcome to nginx!" 页面即说明安装成功。

安装 MySQL / MariaDB

MariaDB 是 MySQL 的社区分支,SQL 语法兼容性接近 100%,在 Ubuntu 上安装更便捷,版本更新更频繁。

apt install mariadb-server -y
systemctl enable mariadb
mysql_secure_installation

为每个应用创建独立数据库和用户,避免直接使用 root:

mysql -u root -p
CREATE DATABASE mysite CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'SecurePassword!';
GRANT ALL PRIVILEGES ON mysite.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES; EXIT;

安装 PHP-FPM

Nginx 本身不能直接执行 PHP,需要通过 PHP-FPM(FastCGI 进程管理器)中转。安装 PHP 8.3 及 WordPress 所需扩展:

apt install php8.3-fpm php8.3-mysql php8.3-xml php8.3-mbstring php8.3-curl php8.3-zip php8.3-gd php8.3-bcmath -y
systemctl enable php8.3-fpm && systemctl start php8.3-fpm

配置 Nginx 虚拟主机

/etc/nginx/sites-available/ 为每个域名创建独立的 server block 配置文件:

nano /etc/nginx/sites-available/mysite.com
server {
    listen 80;
    server_name mysite.com www.mysite.com;
    root /var/www/mysite.com;
    index index.php index.html;
    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; }
}
mkdir -p /var/www/mysite.com
chown -R www-data:www-data /var/www/mysite.com
ln -s /etc/nginx/sites-available/mysite.com /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

测试 PHP

创建临时 PHP 信息页面验证配置,确认正常后立即删除(避免泄露服务器信息):

echo "<?php phpinfo(); ?>" > /var/www/mysite.com/info.php

访问 http://mysite.com/info.php,看到 PHP Information 页面后删除该文件:

rm /var/www/mysite.com/info.php

启用 Let's Encrypt SSL

使用 Certbot 免费获取 90 天 SSL 证书,自动续期。运行前需确保域名 DNS A 记录已指向 Droplet IP。

apt install certbot python3-certbot-nginx -y
certbot --nginx -d mysite.com -d www.mysite.com
certbot renew --dry-run
注意:即使启用 HTTPS 后,也必须保持 80 端口开放——Let's Encrypt 自动续期使用 HTTP-01 验证,需要访问 80 端口。

在 LEMP 上部署 WordPress

cd /var/www/mysite.com
wget https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz --strip-components=1
chown -R www-data:www-data .
cp wp-config-sample.php wp-config.php
nano wp-config.php

将 DB_NAME、DB_USER、DB_PASSWORD 填入之前创建的 MariaDB 数据库信息,然后访问 https://mysite.com 完成 WordPress 安装向导。

注册 DigitalOcean 获得 $200 免费额度 →

常见问题

LEMP Stack 和 LAMP Stack 有什么区别?
LAMP 使用 Apache 作为 Web 服务器,LEMP 使用 Nginx(E 来自 engine-x)。Nginx 在处理静态文件和高并发连接方面效率更高,且内存占用更少,更适合小型 Droplet。
为什么 Nginx 需要 PHP-FPM?
与 Apache 不同,Nginx 本身不能执行 PHP 脚本。PHP-FPM(FastCGI 进程管理器)作为 Nginx 与 PHP 之间的桥梁,通过 FastCGI 协议处理 PHP 请求。
选择哪种 Droplet 规格适合 LEMP Stack?
对于 WordPress 或中小型 PHP 网站,Basic 套餐 1 GiB RAM / 1 vCPU / 25 GB SSD($6/月)已经足够。如果流量较高或需要运行多个网站,建议选择 2 GiB RAM / 2 vCPU($18/月)。
应该选 MySQL 还是 MariaDB?
对于大多数用途,两者结果相同。MariaDB 是社区主导的 MySQL 分支,SQL 兼容性接近 100%,发布周期更快,在 Ubuntu 上通过 apt 安装更便捷。
一个 Droplet 上能托管多个网站吗?
可以。为每个域名创建独立的 Nginx server block(虚拟主机),各自指向不同的根目录,Certbot 也可以为每个域名单独申请 SSL 证书。