首页 > 其他分享 >LNMP架构

LNMP架构

时间:2023-06-27 23:32:44浏览次数:29  
标签:架构 epoll LNMP 代理服务器 Nginx Apache select

1、LNMP架构介绍

LNMP代表的就是:Linux+Nginx+MySQL+PHP这种网站服务器架构。

1.1 Linux:是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。

1.2 Nginx:是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。

1.3 Mysql:是一个中小型关系型数据库管理系统。

1.4 PHP:是一种在服务器端执行的嵌入HTML文档的脚本语言。

这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

LNMP架构_Nginx

和之前提到的LAMP唯一不同的是,LNMP中的N指的是Nginx(类似于Apache的一种web服务软件)。目前这种环境的应用也非常多。Nginx设计的初衷是提供一种快速、高效、多并发的Web服务软件。

    在静态页面的处理上,Nginx较Apache更胜一筹,但在动态页面的处理上,Nginx并不比Apache有优势。但是目前还是有很多爱好者对Nginx比较热衷。随着Nginx技术的不断成熟,它在Web服务软件领域的地位也会越来越高。并且php是作为一个独立服务存在的,这个服务叫做php-fpm。Nginx直接处理静态请求,动态请求会转发给php-fpm。

2Nginx详细介绍:

    Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为 “engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.

    为什么Nginx的性能要比Apache高得多?这得益于Nginx使用了最新的epoll(Linux 2.6内核)和kqueue(freebsd)网络I/O模型,而Apache则使用的是传统的select模型。目前Linux下能够承受高并发访问的 Squid、Memcached都采用的是epoll网络I/O模型。处理大量的连接的读写,Apache所采用的select网络I/O模型非常低效。

     下面用一个比喻来解析Apache采用的select模型和Nginx采用的epoll模型进行之间的区别:假设你在大学读书,住的宿舍楼有很多间房间,你的朋友要来找你。select版宿管大妈就会带着你的朋友挨个房间去找,直到找到你为止。而epoll版 宿管大妈会先记下每位同学的房间号,你的朋友来时,只需告诉你的朋友你住在哪个房间即可,不用亲自带着你的朋友满大楼找人。如果来了10000个人,都要 找自己住这栋楼的同学时,select版和epoll版宿管大妈,谁的效率更高,不言自明。同理,在高并发服务器中,轮询I/O是最耗时间的操作之一,select和epoll的性能谁的性能更高,同样十分明了。

    在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。Nginx 0.8.46 + PHP 5.2.14 (FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍。

标签:架构,epoll,LNMP,代理服务器,Nginx,Apache,select
From: https://blog.51cto.com/u_15867943/6567922

相关文章

  • 【架构师基本功】微内核架构
    (文章目录)微内核架构是一种软件架构,以最小化操作系统内核为目标,将大部分操作系统服务作为用户空间的进程或服务运行。与传统的单内核操作系统不同,微内核通过模块化和组件化的方法将内核分成多个模块,每个模块互相独立,且可以通过消息传递来通信。微内核架构减少了内核所需处理的任......
  • 微服务架构基本原理学习笔记(三)
    上一篇:微服务架构基本原理学习笔记(二)五、微服务之间的通信微服务通信模式微服务本身并没有规定通信规则,换句话说,一个微服务并没有规定可以被哪些应用程序访问,或者被哪些其它的微服务调用。应用程序与微服务间的直接通信,或者微服务与微服务间的直接调用,往往会因为其中错综复......
  • 数据库架构优化
    数据库架构优化一.分库分表1.整除取余比如有user有10个库,每个库有100张表userid=100087存放的数据库和表格的路径100087%10=7第7个库10087%100=87第87张表2.根据id最后1位和两位插入数据库和表Id的最后1位为数据库的位置Id的最后两位为表格的位置二.读写分离,主从配置主数据库进......
  • (转)K8s架构|全面整理K8s的架构介绍
    原文:http://www.uml.org.cn/yunjisuan/202201264.asp1.架构图1.1整体结构图1.2组件间的协议CNI:CNI是ContainerNetworkInterface的是一个标准的,通用的接口;用于连接容器管理系统和网络插件。提供一个容器所在的networknamespace,将networkinterface插入该networkna......
  • Docker技术架构概述
    1、Docker技术构成Docker软件采用客户-服务(CS架构)的技术架构模式,DockerClient和DockerDaemon交互,DockerDaemon负责创建、运行、发布容器,DockerClient和DockerDaemon可以在同一个系统中,或者DockerClient可以通过RESTAPI远程控制DockerDaemon。DockerCompose负责控制一组应......
  • 微服务设计:演化式架构师、如何建模服务
    架构师必须改变那种从一开始就要设计出完美产品的想法,相反我们应该设计出一个合理的框架,在这个框架下可以慢慢演化出正确的系统,并且一旦我们学到了更多知识,应该可以很容易地应用到系统中。我们的架构师应该像城市规划师那样专注在大方向上,只在很有限的情况下参与到非常具体的细节......
  • Spark架构体系
    Spark架构体系StandAlone模式是spark自带的集群运行模式,不依赖其他的资源调度框架,部署起来简单。StandAlone模式又分为client模式和cluster模式,本质区别是Driver运行在哪里,如果Driver运行在SparkSubmit进程中就是Client模式,如果Driver运行在集群中就是Cluster模式standalonecl......
  • linux 核间通讯rpmsg架构分析【转】
    转自:https://blog.csdn.net/wind0419/article/details/123277545以imx8为例在最底层硬件上,A核和M核通讯是靠硬件来进行的,称为MU,如图  LinuxRPMsg是在virtioframework上实现的一个消息传递机制VirtIO是一个用来实现“虚拟IO”的通用框架,典型虚拟的pci,网卡,磁盘等虚拟设......
  • Linux基础25 架构, 安装模板机
    架构一、名词的介绍1.项目:手机的APP,买一个APP就是一个项目,针对互联网行业,一家电商公司就是一个项目2.架构:维护一个项目所有组件组成一个整体lnmp:linuxnginxmysqlphplamp:linuxApachemysqlphplnmt:linuxnginxmysqltomcatlamt:linuxApacheMysqlTomcat#除了这些......
  • 某业务技术架构
           ......