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 等附加组件

系统兼容性

系统推荐版本说明
Debian10 / 11 / 12首选,兼容性最好
Ubuntu20.04 / 22.04兼容良好
CentOS7(不推荐新装)官方维护已结束
AlmaLinux8 / 9RHEL 替代,可用

安装流程

第一步:下载安装脚本

wget https://soft.lnmp.com/lnmp/lnmp2.1.tar.gz
tar zxf lnmp2.1.tar.gz
cd lnmp2.1/

第二步:运行安装脚本

bash lnmp.sh lnmp

脚本启动后,会逐步询问以下选项:

  1. MySQL 版本:推荐 MySQL 8.0 或 MariaDB 10.11
  2. MySQL root 密码:设置一个强密码并记下来
  3. PHP 版本:推荐 PHP 8.1 或 8.2
  4. 是否安装内存优化器:内存紧张选 jemalloc
  5. 是否安装数据库管理工具:可选 phpMyAdmin

编译安装耗时较长

LNMP 默认以源码编译方式安装,内存 1 GB 的服务器约需 30–60 分钟。可用 screentmux 保持会话,防止 SSH 断线导致安装中断。
# 在 screen 中执行安装(防止 SSH 断线)
apt install -y screen
screen -S lnmp
bash lnmp.sh lnmp
# 断线后用 screen -r lnmp 恢复

重要目录结构

路径说明
/usr/local/nginxNginx 安装目录
/usr/local/nginx/conf/nginx.confNginx 主配置文件
/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,配置会相互冲突。选定一种方式后全程使用,不要混用。