DigitalOcean LEMP Stack 安装完整指南 2026
在 Ubuntu 24.04 Droplet 上安装 Nginx + MariaDB + PHP-FPM,配置虚拟主机与免费 SSL
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
在 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 安装向导。
- 安装
wp-cli通过命令行管理 WordPress,效率更高 - 修改
/etc/php/8.3/fpm/php.ini:upload_max_filesize = 64M,post_max_size = 64M - 开启 PHP OPcache(
opcache.enable=1)显著提升性能
注册 DigitalOcean 获得 $200 免费额度 →