2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

和 LNMP 相比,LNMPA 是否效率更高?

  • 2012-07-17
  • 本文字数:1024 字

    阅读完需:约 3 分钟

与 InfoQ 之前访问过 SegmentFault 一样,徳问,是新涌现的一家编程领域的社交问答网站。通过社群智慧,让互联网成为一个能为专业难题提供高效解答的宝库,这就是德问的使命。

最近,尚兴跃在上面提出一个问题:LNMPA 和 LNMP 相比,真的比 LNMP 更有效率吗?

LNMPA 是在 Nginx 后面加入了 Apache。由 Apache 来处理一些动态请求。

这种方式让架构变得有点复杂,但优点似乎也好理解:因为 Apache 比 Nginx 在动态处理和伪 URL 上更加成熟。

大家觉得,这样架构合适吗?还是多此一举呢?

在百度百科上,对 LNMPA 是这样说的:

LNMP 或 LAMP 的劣势

Nginx 是一个小巧而高效的 Linux 下的 Web 服务器软件,与 Apache 相比,消耗资源更少,支持的并发连接,更高的效率,反向代理功能效率高、静态文件处理快等,但动态页面处理能力不如 Apache 等老牌软件成熟。单独使用 Nginx 处理大量动态页面时容易产生频繁的 502 错误。

Apache 是一款老牌的 Web 服务器软件,在高并发时对队列的处理比 FastCGI 更成熟,Apache 的 mod_php 效率比 php-cgi 更高且更稳定、对伪静态支持好,不需要转换、多用户多站点权限等方面有着更好的效果,单独使用 Apache 处理静态页面时,对内存的占用远远超过 Nginx。

LNMPA 的优势

LNMPA 使用 Nginx 作为前端服务器,能够更快、更及时地使用更少的系统资源处理静态页面、js、图片等文件,当客户端请求访问动态页面时,由 Nginx 反向代理给作为后端服务器的 Apache 处理,Apache 处理完再交予 Nginx 返回给客户端。

采用 LNMPA 能够更好的解决 LNMP 架构中由于 PHP-FPM 方面产生的 502 错误,同时能够以很简单的方式提供更安全的多用户多站点环境。

对此问题,毛杭军的评论是:

Nginx + php-fpm 比 Apache + mod_php 更省内存。如果服务器内存不够大,用 php-fpm 是个不错的选择,虽然有出现 502,不过可以通过负载均衡或动静态分离来解决。

LNMPA 和 LNMP,这二种方式用的人都还挺多的,不过我觉得第二种运维更加简单。我们目前采用 LNMP(php-fpm)

原百度系统部技术总监邵辉这样看待这个问题:

LNMPA 还是 LNMP 真没这么重要,在某个共识的基础上,随大流就好。如果非要找个原则,那么就用满足需求的最简单的方案。

现在硬件的性能这么好,价格也便宜,就用 LAMP 又如何?性能的瓶颈大多数情况下都在业务逻辑和数据处理部分,静态页面没有必要过多考虑,除非你产品的核心内容就是图片、视频,如果是这样,把静态内容分离就好了。

InfoQ 的读者们,你们对这个问题怎么看?欢迎在评论中留下你们的观点!

2012-07-17 21:5611271
用户头像

发布了 479 篇内容, 共 180.4 次阅读, 收获喜欢 53 次。

关注

评论

发布
暂无评论
发现更多内容

数据库连接池

邱学喆

TDSQL分布式数据库的HDFS和LOCAL备份配置

腾讯云数据库

数据库 tdsql

联想TruScale服务定义IT服务新标准,助力中国企业全面抢滩智能化

科技范儿

一次带宽拉满引发的百分百超时血案!

Gopher指北

Go 语言

计算机工业的生态链(二)

姬翔

9月日更

一分钟带你了解Huawei LiteOS组件开发指南

华为云开发者联盟

curl 内核 组件 Huawei LiteOS 组件开发

OceanBase 数据库大赛“推荐官招募令”,做推荐官,让优秀选手C位出道!

OceanBase 数据库

数据库 比赛 oceanbase OceanBase 开源 OceanBase 数据库大赛

NDK-原生 API

Changing Lin

9月日更

TDSQL的分布式事务处理技术:高效的分布式事务双一致性

腾讯云数据库

数据库

海量数据,极速体验——TDSQL-A技术核心架构01

腾讯云数据库

数据库 tdsql

亿级流量下平滑扩容:TDSQL水平扩容 VS 垂直扩容

腾讯云数据库

数据库 tdsql

☕【Java技术指南】「并发编程专题」Fork/Join框架基本使用和原理探究(基础篇)

码界西柚

Java forkjoin forkjoinpool 9月日更

数据脱敏是什么意思?有什么好处?

行云管家

数据库 数据安全 数据脱敏 数据库安全

代码工具:VSCode

正向成长

vscode

海量数据,极速体验——TDSQL-A技术核心架构02

腾讯云数据库

数据库 tdsql

TDSQL分布式数据库的架构与解耦

腾讯云数据库

数据库 tdsql

声网发布在线K歌房解决方案,提供一站式接入版权曲库与K歌组件

ToB行业头条

声网

TDSQL(MySQL版)之DB组件升级

腾讯云数据库

数据库 tdsql

TDSQL水平扩容实践案例

腾讯云数据库

数据库 tdsql

揭秘超分辨率的正确打开方式

OpenIM

C语言中动态内存是如何分配的?

华为云开发者联盟

数组 内存 动态内存 内存分配 C语音

深入理解rtmp(二)之C++脚手架搭建

轻口味

android 音视频 直播 RTMP 9月日更

WGCLOUD新特性,新增指令下发批量执行能力

王逅逅

DevOps Grafana #zabbix linux面板 linux监测

TDSQL水平扩容背后的设计原理

腾讯云数据库

数据库 tdsql

【VueRouter 源码学习】第八篇 - $route、$router 与 router-link 组件的实现

Brave

源码 vue-router 9月日更

你知道线程池是如何退出程序的吗?

华为云开发者联盟

线程 高并发 线程池 任务队列

Golang: 如何使用正则表达式,并实战爬取手机号

Regan Yue

正则表达式 爬虫 Go 语言 9月日更

tcpdump 抓包与 scapy 解析(qbit)

qbit

udp TCP/IP tcpdump

观测未来,携手同行!驻云诚邀您参加2021 OSCAR 开源产业大会!文末报名福利!

观测云

开源 可观测

云随想一:企业为什么要上云?

FLASH

原生云

官方披露 TDSQL 十年自主可控之路

腾讯云数据库

数据库 tdsql

和LNMP相比,LNMPA是否效率更高?_Web框架_郑柯_InfoQ精选文章