6
LNMP源码编译安装及一键部署LNMP架构
文章目录
1LNMP
1.1LNMP介绍
LNMP架构师目前成熟的企业网站的应用模式之一,指的是协同工作的一整台系统和相关软件,能够提供动态web站点服务及其应用开发环境 LNMP是一个缩写词,具体包括Linux操作系统,Nginx服务器,Mysql数据库服务器,PHP(或perl,python)网页编程语言
1.2LNMP工作原理
客户端请求访问一个地址,这个请求会到达nginx服务器,
nginx服务器首先判断是否为静态请求,如果是静态请求则直接返回结果到达客户端,
如果是动态请求,这是nginx服务器只做反向代理的作用,(nginx通过接口传输协议PHP-fastcgi协议)它会将请求传给php-fpm这个服务来处理,但是php-fpm不做处理,因为php-fpm是用来管理进程的程序,他会调用PHP解析器进程,php解析进程会来处理这个php文件,如果其中需要调用数据,那么再通过mysql.sock连接到数据库.1进行读取数据,再进程处理,处理完成之后再交给php-fpm服务进程,php-fpm服务进程再交给nginx服务器,最后到达客户端。
1.3LAMP工作原理
客户端请求访问一个地址,这个请求会到达apache服务器,
apache服务会判断是动态请求还是静态请求,如果是静态请求,apache服务将会直接返回到客户端。
如果是动态请求,apache服务会调用自己的一个模块libphp7.so模块进行解析处理,如果需要mysql数据库的支持,还会通过mysql.sock来连接数据库进行读去数据,处理完成之后,将返回到apache服务器,最后返回到客户端。
2.LAMP和LNMP的区别
LAMP表示为:linux、apache、mysql、php
LNMP表示为:linux、nginx、mysql、php
主要区别在于web服务器与php后台之间的转发存在区别,
当nginx作为web服务器时,nginx通过cgi接口协议转发到php-fpm服务程序上,nginx服务和php-fpm服务时相对独立的,然后由php-fpm程序调用对应的php解析进行来完成处理。
当apache作为web服务器时,apache是调用libphp7.so模块来进行处理,这个模块是会随着apache的启动而启动。内嵌在apache中的一个模块。
3.编译安装的优点
①具有较大的自由度,功能可定制
②可及时获得最新的软件版本
③普遍适用于大多数Linux版本,便于一直使用
4.各组件的主要作用
(平台)Linux: 指的是一个基于 CentOS/Debian 编写的 Nginx、Linux、MySQL、PHP,可以在独立主
机上轻松的安装 LNMP 生产环境。本案例主要介绍 LNMP 框架安装方法以及部署 Discuz!社
区论坛应用
(前台)Nginx : 作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,
体现更高的效率。Nginx 作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,
也可以支持作为 HTTP 代理服务器对外进行服务。Nginx 采用 C 语言进行编写,不论是系统
资源开销还是 CPU 使用效率都比 Perlbal 要好的多。Nginx 作为邮件代理服务器:Nginx 同
时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服
务器),Last/fm 描述了成功并且美妙的使用经验。Nginx 安装非常的简单,配置文件非常
简洁(还能够支持 perl 语法)。Nginx 支持平滑加载新的配置,还能够在不间断服务的情
况下进行软件版本的升级。
(后台)Mysql : 作为LAMP架构的后端,是一块流行的开源关系数据库。在企业网站,业务系统等应用中,各种账户信息、产品信息,客户资料,业务数据等都可以存储到Mysql数据库,其它程序可以通过SQL语句来查询,更改这些信息。
(中间连接): PHP/perl/Python:作为三种开发动态网页的编程语言,负责解释动态网页文件,负责沟沟通web服务器和数据库系统以