LNMP介绍及一键部署LNMP架构

目录

一、LNMP

1、LNMP介绍

①LNMP工作原理

②LAMP工作原理

2、LAMP和LNMP的区别

3、编译安装的优点

4、各组件的主要作用

二、脚本一键部署LNMP架构


一、LNMP

1、LNMP介绍

LNMP架构师目前成熟的企业 站的应用模式之一,指的是协同工作的一整台系统和相关软件,能够提供动态web站点服务及其应用开发环境  LNMP是一个缩写词,具体包括Linux操作系统,Nginx服务器,Mysql数据库服务器,PHP(或perl,python) 页编程语言

①LNMP工作原理

客户端请求访问一个地址,这个请求会到达nginx服务器,

nginx服务器首先判断是否为静态请求,如果是静态请求则直接返回结果到达客户端,

如果是动态请求,这是nginx服务器只做反向代理的作用,(nginx通过接口传输协议PHP-fastcgi协议)它会将请求传给php-fpm这个服务来处理,但是php-fpm不做处理,因为php-fpm是用来管理进程的程序,他会调用PHP解析器进程,php解析进程会来处理这个php文件,如果其中需要调用数据,那么再通过mysql.sock连接到数据库进行读取数据,再进程处理,处理完成之后再交给php-fpm服务进程,php-fpm服务进程再交给nginx服务器,最后到达客户端。

②LAMP工作原理

客户端请求访问一个地址,这个请求会到达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 : MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前被 Oracle 公
司收购。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL 是较好
的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
MySQL 是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数
据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用
于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为 区版和商业版,
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型 站的开
发都选择 MySQL 作为 站数据库。

(中间连接): PHP-FPM(FastCGI Process Manager:FastCGI 进程管理器)是一个 PHPFastCGI 管理器,
由于 Nginx 服务器不能处理动态页面,需要由 Nginx 把动态请求交给 php-fpm 处理。

FastCGI:FastCGI是一个可伸缩地、高速地在HTTP服务器和动态脚本语言间通信的接口(FastCGI接口在Linux下是socket(可以是文件socket,也可以是ip socket)),主要优点是把动态语言和HTTP服务器分离开来。多数流行的HTTP服务器都支持FastCGI,包括Apache、Nginx和lightpd。
FastCGI:作用:把动态语言和HTTP分离开来,动静分离

二、脚本一键部署LNMP架构

#!/bin/bash
echo “自动关闭防火墙”
systemctl stop firewalld
systemctl disable firewalld &> /dev/null
setenforce 0

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年7月22日
下一篇 2022年7月22日

相关推荐