微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

LNMP架构和论坛搭建以及一键部署

目录

LNMP工作原理

Nginx

Mysql

 PHP

安装论坛

小结


LNMP工作原理

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

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

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

LAMP和LNMP的区别

LAMP表示为:linux、apache、MysqLPHP

LNMP表示为:linux、NginxMysqLPHP

主要区别在于web服务器与PHP后台间的转发存在区别,

Nginx作为web服务器时,Nginx通过cgi接口协议转发到PHP-fpm服务程序上,Nginx服务和PHP-fpm服务时相对独立的,然后由PHP-fpm程序调用对应的PHP解析进行来完成处理。
当apache作为web服务器时,apache是调用libPHP7.so模块来进行处理,这个模块是会随着apache的启动而启动。内嵌在apache中的一个模块。

 

Nginx

(注意:首先把需要的安装包都放到系统里)

1、首先关闭防火墙

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

2、安装依赖环境

yum -y install pcre-devel zlib-devel gcc gcc-c++ make

3、解压安装包

tar zxvf Nginx-1.15.9.tar.gz

4.编译安装Nginx

添加路径优化:为了使 Nginx 服务器的运行更加方便,可以为主程序 Nginx 创建链接文件,以便管理员 直接执行“Nginx”命令就可以调用 Nginx 的主程序(让系统可以识别)

 

5.测试一下Nginx是否成功启动

 6.添加 Nginx 系统服务

为了使 Nginx 服务的启动、停止、重载等操作更加方便,可以编写基于 CentOS 7.6 的 Nginx 服务控制文件使用 systemctl 工具来进行管理,centos7.6 系统的管理习惯

[Unit]
Description=Nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/Nginx/logs/Nginx.pid
ExecStart=/usr/local/Nginx/sbin/Nginx
ExecReload=/usr/bin/kill -s HUP $MAINPID
ExecStop=/usr/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

7.检查通过systemctl命令能否正常 启动、停止、重启、重载 Nginx 服务

MysqL

1.安装依赖环境包

2.创建用户,不要加 -M,解压安装包

3.编译安装

4.调整配置文件

5.数据库目录进行权限调整

6.设置环境变量,初始化数据库

7.数据库开启自启,关闭,状态

8.登录数据库

 PHP

1.安装依赖环境包

2.解压安装包,编译安装

cd /opt

tar xjvf PHP-7.1.10.tar.bz2

cd PHP-7.1.10

3.复制主配置文件PHP-fpm 配置文件

4.让Nginx支持PHP功能

5.测试数据库工作是否正常

6.可以更改原来的测试页内容

 

安装论坛

 

小结

LNMP 与LAMP Nginx ——> Apache

MysqL ——》5.7 boost 底层c++函数库 +10 分钟编译时间 PHP 在LAMP 只是做为后台程序运行,pid 支持PHP 在LNMP 开起了fpm模块 fpm 进程管理模块 开启了PHP 的pid 功能,让PHP可以以9000端口的方式运行起来 Nginx ——》开启了支持FastCGI的方式对接PHP (对接的端口是9000)

FPM 是管理FastCgi 的一个管理器 FastCGI 是控制http 动态和静态分离功能一个通用网关接口

Nginx 对接PHP 需要支持fastcgi 哪个端口 9000

PHPMysqL 进行对接 2个对接 一、PHP ./configure --with-MysqL-socket /usr/local/MysqL/MysqL.sock

二、配置文件 MysqLi.default_socket /usr/local/MysqL/MysqL.sock

一个架构 1、首先先理解这个架构有哪些服务构成/集成 2、各司其职: 每个服务在这个架构中,发挥什么功能 LNMP L 平台 N 静态 M 数据库 P 动态 3、对接: L 做为基础平台 Nginx —— PHP 进行对接 : 因为静态页面和动态页面的基础概念,静态页面是不需要和数据库进行交互 PHP - MysqL 相连 :动态页面需要和数据库进行交互

一个服务: Nginx : 理解常用的概念/功能 web服务,擅长于静态页面处理

Nginx 常用功能 : 虚拟主机 反向代理(动态页面请求交给apache) 压缩 、缓存、用户和组 、访问权限、状态统计 虚拟主机: 节省资源,充分利用资源 代理:动静分离 缓存:提高客户侧和服务端两边的一个读取性能 访问权限:安全管理 状态统计:便于管理人员管理

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

相关推荐