什么是LNMP架构?

        LNMP是一套流行的开源Web服务器架构,广泛应用于动态网站和Web应用程序的部署。它是以下四个核心组件的首字母缩写:

  • L – Linux:作为基础操作系统,提供稳定、安全的运行环境

  • N – Nginx:高性能的Web服务器,负责处理用户请求

  • M – MySQL(或MariaDB):关系型数据库,负责存储和管理网站数据

  • P – PHP:服务端脚本语言,用于处理动态页面逻辑

        与传统的LAMP架构(Linux + Apache + MySQL + PHP)相比,LNMP用Nginx替代了Apache,更注重高并发性能和资源利用率,适合现代高流量网站。

LNMP的核心优势

        相比其他Web架构,LNMP具有以下显著特点:

  • 高并发、低资源占用:Nginx采用事件驱动、非阻塞I/O模型,能以更少的内存和CPU开销支撑大量并发连接。Nginx能承受的并发量可达数万,远高于Apache。

  • 动静分离:Nginx直接处理静态资源(HTML、图片、CSS等),动态请求则转发给PHP处理,各司其职,效率更高。

  • 配置简单、成本低廉:所有组件均为开源软件,免费使用,且Nginx配置相对简单。

LNMP的工作原理

        LNMP架构的核心在于Nginx与PHP的协作方式。与LAMP中PHP作为Apache模块存在不同,LNMP中PHP以独立服务(php-fpm)的形式运行。

具体处理流程如下:

  1. 用户通过HTTP协议发起请求,请求首先到达Nginx

  2. Nginx根据location配置判断请求类型

  3. 如果是静态资源(如HTML、图片、CSS),Nginx直接处理并返回

  4. 如果是动态请求(如.php页面),Nginx通过FastCGI协议将请求转交给后端的php-fpm处理

  5. php-fpm调用PHP解析器执行代码

  6. 如果涉及数据操作,PHP连接MySQL数据库进行查询

  7. 处理结果逐级返回:MySQL → PHP → php-fpm → FastCGI → Nginx → 用户

简单搭建示例

        以下是在CentOS系统上快速搭建LNMP环境的核心步骤:

1. 安装Nginx

bash

yum install -y nginx
systemctl start nginx

2. 安装PHP及php-fpm

bash

yum install -y php php-fpm

3. 配置Nginx支持PHP

编辑Nginx配置文件(/etc/nginx/nginx.conf),在server块中添加:

nginx

location ~ \.php$ {
    root html;
    fastcgi_pass 127.0.0.1:9000;   # php-fpm默认监听端口
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

fastcgi_pass指定了php-fpm的地址和端口。

4. 安装MySQL(或MariaDB)

bash

yum install -y mariadb mariadb-server

5. 安装PHP的MySQL扩展

bash

yum install -y php-mysql

总结

        LNMP架构凭借高性能、低资源消耗、灵活扩展等优势,已成为当今Web应用的主流架构之一。无论是个人博客、企业官网,还是视频网站、大型论坛,都可以基于LNMP快速构建。理解其工作原理和组件间的协作关系,是做好Web开发和运维的基础

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐