• LNMP分离部署


    作者:逃离地球的小小呆
    来源:CSDN
    原文:https://blog.csdn.net/gui951753/article/details/80204325
    版权声明:本文为博主原创文章,转载请附上博文链接!

    LNMP之间的数据流转:

    第一步:浏览器发送http request请求到服务器(Nginx),服务器响应并处理web请求,将一些静态资源(CSS,图片,视频等)返回浏览器。

    第二步:将php脚本通过接口传输协议(网关协议)PHP-FCGI(fast-cgi)传输给PHP-FPM(进程管理程序),PHP-FPM不做处理,调用PHP解析器进程,PHP解析器解析php脚本信息。PHP解析器进程可以启动多个,进行并发执行。

    第三步:PHP脚本通过PHP和数据库的连接,完成对数据库进行增删改查的功能,并从数据库中获取数据。

    第四步:将获取到的数据返回到PHP-FPM,PHP-FPM再通过fast-cgi的形式将脚本信息传送给Nginx。

    第五步:服务器再通过Http response的形式传送给浏览器。浏览器再进行解析与渲染然后进行呈现。

    Nginx+FastCGi工作流程

    Nginx不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过Fast-CGI接口来调用。Fast-CGI接口在Linux下是socket(这个socket可以是文件socket,也可以是ip socket)。

    wrapper:为了调用CGI程序,还需要一个Fast-CGI的wrapper(wrapper可以理解为用于启动另一个程序的程序),这个wrapper绑定在某个固定socket上,如端口或者文件socket。当Nginx将CGI请求发送给这个socket的时候,通过Fast-CGI接口,wrapper接收到请求,然后Fork(派生)出一个新的线程,这个线程调用解释器或者外部程序处理脚本并读取返回数据;接着,wrapper再将返回的数据通过Fast-CGI接口,沿着固定的socket传递给Nginx;最后,Nginx将返回的数据(html页面或者图片)发送给客户端。这就是Nginx+Fast-CGI的整个运作过程。

    Nginx架构

    如上图所示:

    1、Nginx启动后,会产生一个主进程(master),主进程执行一系列的工作后会产生一个或者多个工作进程;

    2、在客户端请求动态站点的过程中,Nginx服务器还涉及和后端服务器的通信。Nginx将接收到的Web请求通过代理转发到后端服务器,由后端服务器进行数据处理和组织;

    3、Nginx为了提高对请求的响应效率,降低网络压力,采用了缓存机制,将历史应答数据缓存到本地。保障对缓存文件的快速访问;

    Nginx和Apache异同

    上图是截止到20180426官方发布的WebServer的市场占有率。一个明显的趋势就是Apache的市场占有率逐年下降,Nginx逐年上涨,说明,Nginx在某些方面是要远远强于Apache的。Nginx和Apache主要的区别有以下几点。

    核心区别在于Apache是同步多进程模型,一个连接对应一个进程;Nginx是异步的,多个连接(万级别)可以对应一个进程。在大部分场景中,Nginx的epoll模型性能要高于Apache的select模型。
    Nginx 处理请求是异步非阻塞的,而Apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能 。
    同样提供web 服务,Nginx比Apache 占用更少的内存及资源。
    Nginx除了能够提供Web服务以外,还能提供反向代理功能,在一定程度上实现负载均衡。
    LNMP部署

  • 相关阅读:
    C#基础视频教程4.1 如何编写简单的计算器
    C#基础视频教程3.3 常见控件类型和使用方法
    C#基础视频教程3.2 常见控件类型和使用方法
    C#基础视频教程3.1 常见控件类型和使用方法
    C#基础视频教程2 常见数据类型和属性方法
    C#基础视频教程1 背景知识和安装配置
    为什么我的淘宝排名会突然下降?
    Idea项目如何迁移到Eclipse
    myeclipse部署项目的时候报No projects are available for deployment to this server但是项目明明存在
    idea如何将项目以eclipse保存
  • 原文地址:https://www.cnblogs.com/jojoword/p/11228453.html
Copyright © 2020-2023  润新知