LAMP与LNMP架构的区别及其具体的选择说明

LAMP与LNMP架构的区别及其具体的选择说明

LAMP==Linux+Apache+Mysql+PHP
LNMP==Linux+Nginx+Mysql+PHP

以上两只架构是目前网站的主流架构

LAMP和LNMP最主要的区别在于:


一个使用的是Apache,一个使用的是Nginx。



我们就来说说Apache


Apache是世界是用排名第一的Web服务器软件,其几乎可以在所有广泛使用的计算机平台上运营,由于其跨平台和安全性被广泛使用,是最流行的Web服务端软件之一。

相比于nginx,apache有些臃肿,内存和CPU开销较大,性能上有损耗,nginx对于静态文件的响应能力远高apache。

Apache是负载PHP的最佳选择,如果流量很大的话,可以使用nginx来负载非PHP的Web请求。在整个IT界而言,70%的流量访问均来源于Apache。

下面说说Nginx

Nginx是一款高性能额Http和反向代理服务器,也是一个AMAP/POP3/SMTP服务器,Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日,2011年6月1日,nginx 1.0.4发布。

相比于Apache,nginx使用资源更少,支持更多并发连接,效率更高,作为负载均衡服务器。nginx即可对内进行支持,也可对外进行服务。其还是一款非常优秀的邮件代理服务器,安装简单,配置简介

LNMP是Linux+Nginx+Mysql+PHP的组合方式,其特点是利用Nginx的快速与轻量级,替代以前的LAMP(Linux+Apache+Mysql+PHP)的方式。由于安装方便,并且安装脚本也随时更新。

LNMP方式的优点:占用VPS资源较少,Nginx配置起来也比较简单,利用fast-cgi的方式动态解析PHP脚本。

LNMP方式的缺点:php-fpm组件的负载能力有限,在访问量巨大的时候,php-fpm进程容易僵死,容易发生502 bad gateway错误

综上所述:

基于 LAMP 架构设计具有成本低廉、部署灵活、快速开发、安全稳定等特点,是 Web 网络应用和环境的优秀组合。若是服务器配置比较低的个人网站,当然首选 LNMP 架构。



当然,在大流量的时候。把Apache和Nginx结合起来使用,也不失为一个不错选择,如下:

LNAMP是Linux+Nginx+Apache+Mysql+PHP的组合方式,其特点是利用Nginx来作为静态脚本的解析,而利用 Nginx的转发特性,将动态脚本的解析转交给Apache来处理,这样,能充分利用两种Web服务器的特点,对于访问量需求较大的站点来说,是一个很不错的选择。

LNAMP方式的优点:由于Apache本身处理PHP的能力比起php-fpm要强,所以不容易出现类似502 bad gateway的错误。适合访问量较大的站点使用。

LNAMP方式的缺点:相比LNMP方式会多占用一些资源,另外,配置虚拟主机需要同时修改Nginx和Apache的配置文件,要稍微麻烦一些

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/114115.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • velocity语法[通俗易懂]

    velocity语法[通俗易懂]一:基本语法:1.#set(#a="a")$a##输出语句时直接写变量的名称即可2.判断语句:#if($a=="a")##判断语句没有括号,也是

  • net::ERR_CLEARTEXT_NOT_PERMITTED Android9.0无法加载url

    net::ERR_CLEARTEXT_NOT_PERMITTED Android9.0无法加载url

  • python读取txt文件中的数组

    python读取txt文件中的数组写此博客只是为做笔记defread_data(dir_str):”’此函数读取txt文件中的数据数据内容:科学计数法保存的多行两列数据输入:txt文件的路径输出:小数格式的数组,行列与txt文件中相同”’data_temp=[]withopen(dir_str)asfdata:wh

  • Django(4)操作指令大全[通俗易懂]

    Django(4)操作指令大全[通俗易懂]前言我们掌握了如何在命令提示符或PyCharm下创建Django项目和项目应用,无论是创建项目还是创建项目应用,都需要输入相关的指令才能得以实现,这些都是Django内置的操作指令。在PyChar

  • DSP C6000代码优化

    DSP C6000代码优化忙完项目的事情,对DSP的学习又近了一步。在此介绍一下C6000代码优化的问题:1.手动汇编优化软件流水1.1.更短的执行时间1.2.更小的代码空间两部分需要权衡线性汇编比汇编更加简单编译器把高级语言编译成汇编,汇编器是吧汇编编译成.obj的二进制代码,连接器把所有文件连接到一起生成可执行文件1.31.先指令后-O(n)选项,还不行就线性汇编,很少到手动汇编2.项目经验首先得评估代码运行时间,这个在DSPDEBUG-TOOL-clock,利用该工具可以很好的评估到

  • java流程图平行四边形_编程技巧之流程图「建议收藏」

    我们写的程序都是有逻辑顺序的,即是有流程的,流程图的作用则是对这种逻辑顺序的一种描述,是对解决问题的方法、思路或者算法的图形化的展示。流程图采用的符号Axure里的流程图形状组件面板下面这的内容介绍来自(https://www.douban.com/note/310371289/)1、矩形作用:一般用作要执行的处理(process),在程序流程图中做执行框。在axure中如果是画页面框架图,那么也…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号