lamp配置

上一篇链接-------------------apache的配置
在这里插入图片描述
httpd的压力测试:
主机上线之前需要进行压力测试,评估其响应能力

在这里插入图片描述
并发请求
最多并发启动256个进程

十万个请求100路并发 1000路并发

对比单个请求的响应时间

一个资源请求三秒是否能够得到响应

-k 就是看你有没有开启keep-alive

在这里插入图片描述

分别10个并发 100个并发测试 对比单个请求所需要的时间
在这里插入图片描述从time taken for test开始解释:
测试总共花费时间
完成的总请求数
x
x
在这里插入图片描述

总的数据传输数 32 100 000 30MB 相当于30*8兆带宽 而且打满 所以最起码得300兆带宽 只是请求报文首部,响应报文首部

在这里插入图片描述
这个是响应报文的内容的

在这里插入图片描述
服务器每秒钟能完成的请求的数量

在这里插入图片描述
10路并发请求一次的平均时间
单个请求的时间
传输速率

在这里插入图片描述
需要205M*8的带宽
取决于实际有效可用带宽

在这里插入图片描述
最小值 平均值 中间时间 最大时间

在这里插入图片描述

处理前百分之99的请求两毫秒就完成了

并发100个
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
500个并发 需要大量的进程切换
在这里插入图片描述
在这里插入图片描述
找一个大一点的文件
在这里插入图片描述

在这里插入图片描述
并发数量不同结果也是不同的
在这里插入图片描述
服务器真正响应能力还要取决于实际有效可用带宽

在这里插入图片描述在这里插入图片描述

第一种cgi方式(已淘汰)

在这里插入图片描述
静态页面就是从磁盘加载封装报文后返回给客户端
动态页面就i是比如用户请求的是一个bash脚本
服务器从磁盘读取到sh脚本后开启一个子进程bash执行脚本,将结果返回给客户端。
子进程支持通过cgi对他进行调用

CGI就是一种通用网关接口

早期很有用。性能较差。需要开启进程,销毁进程等。

第二种方式fastcgi

子进程创建靠一个服务端接收http请求创建并维护子进程。类似于prefork
也是创建几个空闲的进程

服务器端基于一种协议直接向后端fastcgi server服务器套接字发请求 fastcgi server可以自己维护子进程。事先就创建了空闲请求了、后端服务端自己到磁盘读取文件加载进子进程运行
运行完成将结果返回给服务器 服务器构建响应报文 回复给客户端

在这里插入图片描述
在这里插入图片描述
只是一个执行引擎 真正的资源还是再磁盘上
在这里插入图片描述

第三种:http结合php

http高度模块化的
第二种还需要服务器

启动worker子进程后,子进程负责直接处理请求。子进程内部有一个模块(高度模块化的)可以把php的运行环境作为httpd的模块装入。子进程接受请求后发现是php页面也可以自己加载。把动态程序运行的环境当作前端静态内容的模块。

在这里插入图片描述
该模块使用与否都要该模块 增加自己的负载

把文件系统接口抽象为数据管理接口–数据库管理(用户空间)–通过套接字连接

系统抽象出的逻辑界面— 缺点:每个进程都需要一个模块 增加自己的负载

Php连接MySQL的驱动的共享功能模块 php-mysql 让php支持连接mysql

在这里插入图片描述在这里插入图片描述

参考:

原理:浏览器发送http request请求到服务器(Nginx),服务器响应并处理web请求,
将一些静态资源(CSS,图片,视频等)保存服务器上,
如果是静态文本直接返回。然后将php脚本通过接口传输协议(网关协议)PHP-FCGI
(fast-cgi)传输给PHP-FPM(进程管理程序),PHP-FPM不做处理,然后PHP-FPM
调用PHP解析器进程,PHP解析器解析php脚本信息。PHP解析器进程可以启动多个,
进行并发执行。然后将解析后的脚本返回到PHP-FPM,PHP-FPM再通过fast-cgi的形
式将脚本信息传送给Nginx.服务器再通过Http response的形式传送给浏览器。浏览器
再进行解析与渲染然后进行呈现。

lnmp架构访问流程:
当用户访问一个地址,这个请求会会到负载均衡再交给nginx web服务,web服务通过location
判断这是否是.php结尾的请求,如果是,则通过fastcgi_pass调用FastCGI接口,传给php-fpm(php)。
如果php能处理的了就直接回应应用,如果处理不了需要调用数据库来处理(用户读取文章或者上传文章等),
但是数据库只支持sql语句,php服务需要通过解释器php.ini来完成数据库的调用,处理完这个请求后再
返回给php-nginx-用户做出回应。
同样,LAMP的架构也与次相似,只不过在这个架构中php是以插件的形式被Apache调用的。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述在这里插入图片描述分词 ls /etc/ 先兆ls 分词后实现转成二进制 就不用每次都解析了 需要解释器翻译下在CPU执行
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
翻译位opocdes后每次直接执行编译后的即可

1.分词
2.确认哪个是命令 哪个是数据
3.转换为能够执行的格式
4.执行

在这里插入图片描述
多个php进程不共享资源
所以另外的进程运行需要重新编译 无法共享编译的结果
就出现了加速器

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

php解释器
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

会读取php.ini加载自己的环境配置

在这里插入图片描述

httpd-php模块方式

php-mysql 就是php连接Mysql的一个驱动

http前面已经装了

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
主页就是.php

在这里插入图片描述
靠php解释器代码和数据库连接的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
需要以.php结尾 才可以解释

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以正常连接

在这里插入图片描述
单台主机lamp已经成功了

写脚本测试php连接mysql

vim php-mysql.php
mysql用户是root 密码为空
在这里插入图片描述
在这里插入图片描述

部署别人用php开发的开源应用程序 wordpress discuz
在这里插入图片描述
拷贝到虚拟机中

在这里插入图片描述
在这里插入图片描述
root账户很危险的
数据库创建一个用户

在这里插入图片描述
在这里插入图片描述vim /etc/my.cnf
自己把ip解析为了域名 不认识了 因此跳过解析

在这里插入图片描述跳过主机名解析

在这里插入图片描述
在这里插入图片描述
自己编辑即可

在这里插入图片描述
在这里插入图片描述
没有写权限 更改权限

在这里插入图片描述点击页面

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
发布文章

在这里插入图片描述

还有一个论坛程序 都可以使用使用
在这里插入图片描述
部署完安装应用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
该文件配置php如何连接mysql 其实就是这个指令 就是php装载mysql.so模块

在php默认的模块搜索路径下

数据库

在这里插入图片描述在这里插入图片描述

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
给某个用户设置密码
在这里插入图片描述
在这里插入图片描述
可以看到密码相同 加密出来的也是一样的

在这里插入图片描述
在这里插入图片描述
刷新立即生效

在这里插入图片描述
安装一个图形界面的数据库管理工具
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
拷贝到虚拟机上

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
伸成一个20位的随机数

在这里插入图片描述
把/去掉
在这里插入图片描述
在这里插入图片描述
显示版本过低

在这里插入图片描述
所以需要下载一个偏低的版本
在这里插入图片描述

跟刚才的步骤一一昂
在这里插入图片描述
缺模块

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述输入数据库账号密码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

查看支持的引擎
在这里插入图片描述
在这里插入图片描述

如果服务器在本机

进程直接共享内存

即本机套接字访问

都监听套接字文件 /var/lib/mysql/mysql.sock

Linux打开一个文件来监听

在这里插入图片描述
专门用于套接字 unix sock通信的

在这里插入图片描述
mysqld 是服务器端的

在这里插入图片描述在这里插入图片描述

-e sql语句 -D指明数据库
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相当于ctrl +c 别加;号
在这里插入图片描述
shell命令
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在MySQL中执行

在这里插入图片描述
在这里插入图片描述
所以脚本mysql用户需要有权限

在这里插入图片描述

php-fpm Fastcgi方式!!!

在这里插入图片描述
centos7只需要yum install php-fpm即可
在这里插入图片描述
架构:

htttpd独立运行一个进程,解析静态资源
动态的基于fastcgi协议向后面反代,所以必须使用fastcgi模块。所以必须是fastcgi客户端。
运行php-fpm的server 监听在套接字上 向前端提供服务的 —就是一个fastcgi server
所以前端发出请求 使用fastcgi协议连接

收到请求进程本地加载资源文件 执行后向前端输出数据流
如果需要访问数据 就需要mysql协议 基于mysql向后面反代
在这里插入图片描述
PHP-FPM这种方式应用于负载较重的站点

php-fpm管理进程的方式类似Httpd的preforx
主控进程监控请求 生成子进程处理 每个子进程处理一个请求 并且会创建空闲进程

静态的就是最多创建50个空进程 也不删除 比较浪费资源 所以分为动态和静态

静态就是创建最大的进程数量等待请求

68主机安装mariadb php-fpm httpd

在这里插入图片描述
在这里插入图片描述

php-fpm.conf配置进程的运行方式
php.ini配置自己的属性的 环境配置的

在这里插入图片描述
在这里插入图片描述
添加
innodn 每表使用单独的表空间xxx
还有缓冲池的内存大小 不重要先不添加
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
创建普通用户测试

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
需要的话开机自启
在这里插入图片描述php很多扩展
php-mysql 扩展php连接mysql的

在这里插入图片描述
多字节字符串 显示汉字的
在这里插入图片描述
传输过程的加解密等
在这里插入图片描述
在这里插入图片描述
这个提供php核心文件
在这里插入图片描述
vim php-fpm.conf

在这里插入图片描述

这个就是用来配置怎么和www服务器结合

listen.baklog后援队列长度 -1表示无线
在这里插入图片描述
允许那些地方的客户端发出连接请求-----------也就是httpd所在的主机ip

在这里插入图片描述
运行进程的用户和组

子进程的管理方式
在这里插入图片描述
指明使用动态的

在这里插入图片描述
最多并发50个 因为是运行程序的 耗内存 一个进程响应一个请求
可以进行压测

在这里插入图片描述

每个进程响应500个请求就必须关掉

内在状态页面
在这里插入图片描述

在这里插入图片描述
ping过去 pong回来
在这里插入图片描述
服务器远程健康状态

动态服务器有会话的

服务器保留客户端的活动访问操作
持久保存在
在这里插入图片描述
改为进程所属用户 并创建该目录

在这里插入图片描述
在这里插入图片描述
启动了五个进程
在这里插入图片描述
安装httpd

在这里插入图片描述

hhtpd-M 确保有fcgi模块 否则是无法与后端服务器通信的

在这里插入图片描述
httpd需要配置代理 因为是代理服务器
httpd在centos7上是模块化配置的,所以创建一个新的配置文件

在这里插入图片描述
主页支持Index.php
关闭正向代理
正则匹配到url以不管什么开始以.php结尾就反代给后面那个 $1就是括号括起来的内容

/var/www/html就是fcgi服务器的documentRoot

这两种方式选择一个 没有虚拟主机使用上面的 有的话下面的
在这里插入图片描述
有虚拟主机就把正则匹配的放在虚拟主机里面即可

配置一个虚拟主机

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
开始把后端内容到反代给fcgi server

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接下来就可以在网站上部署需要的应用了
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
随便生成随机值

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
对主页做压测:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
平均1秒钟响应100+请求

如何实现启用php扩展实现Php应用加速的

php还有自己的加速器

能够加速php执行的一个扩展

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在epel源 所以需要提前安装epel

安装这个扩展后
一定程度上可以加速php执行

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述使用内存缓存数据

在这里插入图片描述

该服务的启动只要装载了该模块即可

在这里插入图片描述
可以在php页面看到是否安装生效

之前安装的
在这里插入图片描述
在这里插入图片描述
因此可以进行压测

在67主机先访问生成缓存后压测
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
没啥反应

很多其他应用是可以的
phpma每次都需要登录 压测没法登录
每次都要验证登录信息。生成cookie没法复用opcode

在这里插入图片描述
在这里插入图片描述
自己建立的php页面有效果的

额外的配置

在这里插入图片描述
请求把对应的xx资源 代理到后端去
在这里插入图片描述在这里插入图片描述
对应的 是后端php-fpm内置的状态页
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
还可以自己输出格式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
pong表示服务是正常的
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值