加入收藏 | 设为首页 | 会员中心 | 我要投稿 甘南站长网 (https://www.0941zz.com/)- 科技、行业物联网、开发、云计算、云管理!
当前位置: 首页 > 运营中心 > LNMP > 正文

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

发布时间:2023-02-17 14:08:38 所属栏目:LNMP 来源:互联网
导读:LNMP工作原理 客户端请求访问一个地址,这个请求会到达Nginx服务器, Nginx服务器首先判断是否为静态请求,如果是静态请求则直接返回结果到达客户端, 如果是动态请求,这是Nginx服务器只做反向代理的作用,(Nginx通过接口传输协议PHP-fastcgi协议)它会将

 
  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、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中的一个模块。
  
 
  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
 
  PHP和MysqL 进行对接 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) 压缩 、缓存、用户和组 、访问权限、状态统计 虚拟主机: 节省资源,充分利用资源 代理:动静分离 缓存:提高客户侧和服务端两边的一个读取性能 访问权限:安全管理 状态统计:便于管理人员管理
 
 

(编辑:甘南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读