LNMP 是 Linux + Nginx + MySQL + PHP 的缩写,是当前最主流的 Web 服务器软件组合之一。lnmp.org 提供的一键安装脚本历史悠久、维护活跃,能在 Debian/Ubuntu/CentOS 上自动编译安装完整的 LNMP 环境,并附带常用管理命令,是无需图形面板、偏好命令行运维的用户的经典选择。本文以搬瓦工 VPS(Debian/Ubuntu)为主线,完整演示 LNMP 的安装、目录结构与日常管理。
本文要点
- lnmp.org 脚本的特点与系统兼容性
- 完整安装流程(含交互选项说明)
- 重要目录与配置文件位置
- 网站、数据库、SSL 的日常管理命令
LNMP 脚本特点
- 自动编译安装 Nginx、MySQL/MariaDB、PHP 及常用扩展
- 支持多版本 PHP 共存、PHP-FPM 独立配置
- 内置
lnmp命令,一键管理网站、数据库、虚拟主机 - 支持 Let's Encrypt 免费 SSL 证书申请
- 可选安装 phpMyAdmin、Memcached、Redis 等附加组件
系统兼容性
| 系统 | 推荐版本 | 说明 |
|---|---|---|
| Debian | 10 / 11 / 12 | 首选,兼容性最好 |
| Ubuntu | 20.04 / 22.04 | 兼容良好 |
| CentOS | 7(不推荐新装) | 官方维护已结束 |
| AlmaLinux | 8 / 9 | RHEL 替代,可用 |
安装流程
第一步:下载安装脚本
wget https://soft.lnmp.com/lnmp/lnmp2.1.tar.gz
tar zxf lnmp2.1.tar.gz
cd lnmp2.1/第二步:运行安装脚本
bash lnmp.sh lnmp脚本启动后,会逐步询问以下选项:
- MySQL 版本:推荐 MySQL 8.0 或 MariaDB 10.11
- MySQL root 密码:设置一个强密码并记下来
- PHP 版本:推荐 PHP 8.1 或 8.2
- 是否安装内存优化器:内存紧张选 jemalloc
- 是否安装数据库管理工具:可选 phpMyAdmin
编译安装耗时较长
LNMP 默认以源码编译方式安装,内存 1 GB 的服务器约需 30–60 分钟。可用
screen 或 tmux 保持会话,防止 SSH 断线导致安装中断。# 在 screen 中执行安装(防止 SSH 断线)
apt install -y screen
screen -S lnmp
bash lnmp.sh lnmp
# 断线后用 screen -r lnmp 恢复重要目录结构
| 路径 | 说明 |
|---|---|
| /usr/local/nginx | Nginx 安装目录 |
| /usr/local/nginx/conf/nginx.conf | Nginx 主配置文件 |
| /usr/local/nginx/conf/vhost/ | 各站点虚拟主机配置 |
| /home/wwwroot/ | 网站根目录(默认) |
| /usr/local/mysql/ | MySQL 安装目录 |
| /usr/local/php/ | PHP 安装目录 |
| /home/wwwlogs/ | Nginx 访问与错误日志 |
日常管理命令
服务管理
lnmp nginx start|stop|restart|reload
lnmp mysql start|stop|restart
lnmp php-fpm start|stop|restart网站管理
lnmp vhost add # 添加虚拟主机(站点)
lnmp vhost list # 列出所有站点
lnmp vhost del # 删除虚拟主机SSL 证书
lnmp ssl add # 为站点申请 Let's Encrypt 证书数据库管理
lnmp database add # 添加数据库与用户
lnmp database list # 列出数据库安装验证
安装完成后在浏览器访问服务器 IP,若看到 LNMP 欢迎页则安装成功;MySQL 服务正常可用
mysql -u root -p 验证。小结
- lnmp.org 脚本适合喜欢命令行、不想装图形面板的用户
- 安装耗时较长,建议用 screen/tmux 保持会话
- 网站文件放 /home/wwwroot/,日志在 /home/wwwlogs/
lnmp命令是日常运维的核心工具
常见问题
LNMP 安装中途断了 SSH 怎么办?
如果没有 screen/tmux,安装会中断。重新登录后执行 cd lnmp2.1 && bash lnmp.sh lnmp 重新运行脚本,通常可以从断点继续。
如何升级 PHP 版本?
可通过 lnmp php add 追加新版本 PHP,再修改站点配置切换 PHP-FPM 版本,无需重装整套环境。
LNMP 与宝塔面板能否共存?
不建议,两者都管理 Nginx/MySQL/PHP,配置会相互冲突。选定一种方式后全程使用,不要混用。