写点什么

和 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:5611080
用户头像

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

关注

评论

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

明道云入选亿欧智库《AIGC入局与低代码产品市场的发展研究》

明道云

什么是企业级应用软件?对企业有什么应用意义?常见的企业级应用软件有哪些?

天津汇柏科技有限公司

创业 企业级应用 企业级应用程序开发 企业级应用软件

云小课|Runc容器逃逸漏洞(CVE-2024-21626)安全风险通告

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 华为云云小课

eosio.token 智能合约介绍

BSN研习社

区块链 智能合约 EOS

听GPT 讲Rust Cargo源代码(7)

fliter

听GPT 讲Rust Cargo源代码(8)

fliter

探索AI创新、创业新领域!这些项目点子让你先人一步!

算AI

人工智能 创业 AI 创新

一种Java语言下生成竖版表格文档的方法

alexgaoyh

Java POI 竖版 竖向文字 文档表格

如何计算两个日期之间的天数

fliter

属于你的Chat GPT来了

派大星

ChatGPT Open AI

大促削峰实战:评价QPS降低85%的背后逻辑

京东科技开发者

软件架构一致性 —— 被忽视的研发成本

阿里技术

软件架构 研发 研发成本

【大数据技术攻关专题】「Apache-Flink零基础入门」手把手+零基础带你玩转大数据流式处理引擎Flink(基础加强+运行原理)

码界西柚

大数据 flink flink 实战 技术指南 2024年第三十一篇文章

一文搞懂设计模式—单例模式

Java随想录

Java 设计模式

ApiServer代码走读

GalaxyCreater

Kubernetes k8s

《编码: 隐匿在计算机软硬件背后的语言》PDF

程序员李木子

如何给极狐GitLab 配置 webhook,自动触发 Pipeline?

极狐GitLab

一种Java语言下的简单重试实现

alexgaoyh

Java 回调函数 重试机制 重试间隔时间 无外部引用

一种根据业务连续持续天数计算分值的方法

智慧源点

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