php与nginx的高速缓存

news2025/1/9 17:14:59

memcache

PHP的加速模块
本部分是对php的内存加速的配置

1. memcache安装

  609  phpize # 生成./configure文件
  610  yum install -y autoconf # 安装包
  611  ls
  612  phpize
  613  ls
  614  ./configure
  615  make && make install
  616  ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/

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

vim /usr/local/php/etc/php.ini
systemctl reload php-fpm
php -m | grep memcache

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

2. 安装过程问题

php -m 搜索不到memcache模块

在这里插入图片描述
最后发现是文件名字错了,是php.ini不是php-ini
在这里插入图片描述

3. 模块配置

cp example.php memcache.php /usr/local/nginx/html/  # memcache.php是监控页面 # example.php负责存储数据到memcache
yum install -y memcached.x86_64
systemctl enable --now memcached.service

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

vim /usr/local/nginx/html/memcache.php

在这里插入图片描述

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

  • 对比磁盘和内存读取的性能

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

4 问题

 client -> nginx -> *.php -> fastcfi_pass -> php-fpm:9000 -> nginx -> client
 # nginx处理php文件的流程

在处理请求的过程中是通过php-fpm:9000来处理文件,性能还是不够高速,nginx起到的作用很小,需要等待php的处理。

php+nginx高速缓存配置

传统的处理还需要经过PHP,会降低服务器性能。

在这里插入图片描述

openresty

https://openresty.org/cn/

在这里插入图片描述
非常适合前端开发人员
在这里插入图片描述

  1. 安装
tar -zxf openresty-1.21.4.1.tar.gz
cd openresty-1.21.4.1/
./configure --prefix=/usr/local/openresty --with-http_ssl_module --with-http_stub_status_module
# make & make install # 这种写法会出现一定的概率安装不完整
make
make install

在这里插入图片描述

在这里插入图片描述

  1. 配置文件
cd /usr/local/openresty/nginx/conf
cp /usr/local/nginx/conf/nginx.conf . # 为了快速配置可以将nginx的配置文件复制到openresty中
cp /usr/local/nginx/conf/cert.pem .
/usr/local/openresty/nginx/sbin/nginx -t
/usr/local/openresty/nginx/sbin/nginx

在这里插入图片描述

在这里插入图片描述

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

cd /usr/local/openresty/nginx/html
cp /usr/local/nginx/html/index.php .
cp /usr/local/nginx/html/example.php .

在这里插入图片描述
3. 负载均衡

# 负载均衡
    upstream memcache {
        server 127.0.0.1:11211;
        keepalive 512;
    }

然后通过反向代理,把请求交给负载均衡器

# 在虚拟主机里面定义location
  location /memc { # /memc是虚拟路径,并不存在
        internal;
        memc_connect_timeout 100ms;
        memc_send_timeout 100ms;
        memc_read_timeout 100ms;
        set $memc_key $query_string;
        set $memc_exptime 300;
        memc_pass memcache;
        }
# 在php目录定义中加入
			set $key $uri$args;
            srcache_fetch GET /memc $key;
            srcache_store PUT /memc $key;

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2061480.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络UDP报文详细解析

目录 一、简介二、详细介绍三、其他相关链接1、TCP报文段的详细图总结2、TCP三次握手和四次挥手详解3、socket通信原理及相关函数详细总结4、网络包IP首部详细解析 一、简介 本文主要介绍UDP报文格式。 二、详细介绍 UDP是一种无连接、不可靠的用户数据报协议,其…

【软件文档大全】软件开发常用文档(程序开发过程-实施-运维-安全-交付-资质-标书)

软件项目常用文档有哪些? 工作安排任务书,可行性分析报告,立项申请审批表,产品需求规格说明书,需求调研计划,用户需求调查单,用户需求说明书,概要设计说明书,技术解决方案…

2.pandas--读取文件夹中所有excel文件进行合并

文章目录 代码对应的本地文件文件夹目录三个文件夹中的内容test01.xlsxtest02.xlsxtest03.xlsx 三个文件合并后得到merge.xlsx文件文件内容 生成result.xlsx文件内容 代码 import glob import pandas as pddf_merge pd.DataFrame() # 创建一个空的DataFramefolder_path &qu…

接口隔离原则(Interface Segregation Principle

接口隔离原则(Interface Segregation Principle) 基本介绍 1)客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上2)先看一张图 3)类 A 通过接口 Interface1 依赖类 B&#…

五、3 单目操作符关系操作符

1、单目操作符 1)! 2)& 3)sizeof sizeof是操作符,不是函数 strlen是库函数,用来求字符串长度 4)~ 5) 6)*(与指针配合使用) 7)强…

新零售社交电商系统案例分析

新零售社交电商系统,是互联网、大数据、人工智能等技术与传统零售深度融合的产物。它通过整合线上线下渠道和数据,提供全方位、多渠道、个性化的购物体验。这一系统强调线上线下一体化,通过实时库存管理、智能推荐、无缝购物体验等功能&#…

【JavaEE】SpringBoot 统一功能处理:拦截器、统一数据返回与异常处理的综合应用与源码解析

目录 SpringBoot 统⼀功能处理拦截器拦截器快速⼊⻔拦截器详解拦截路径拦截器执⾏流程 登录校验定义拦截器注册配置拦截器 DispatcherServlet 源码分析(了解)初始化(了解) DispatcherServlet的初始化1. HttpServletBean.init()2. FrameworkServlet.initServletBean() WebApplic…

Leetcode JAVA刷刷站(75)颜色分类

一、题目概述 二、思路方向 在Java中,要实现这个排序算法,我们可以使用三指针的方法,也称作荷兰国旗问题(Dutch National Flag Problem)。这个方法使用三个指针来分别追踪数组中小于、等于和大于中间值的元素的边界。在…

未设置辅助手机的谷歌账号停用,申诉回来后登录需要手机验证,验证两次后成功恢复。

谷歌账号被停用后怎么办?果断申诉,申诉方法和模板等见我前面的文章或视频。 通常申诉以后1-2天会反馈结果,而且大部分(80%以上)会第一次就被审批通过,如下图所示: 当收到上面这样的邮件&#x…

OSError:[WinError -2146959355] 服务器运行失败

其实就是 找不到指定的程序,看报错,提示返回失败,最后通过设置wps由系统启动,解决报错 首先打开电脑,找到桌面上的【WPS文档】,右键,在打开的菜单中,选择【属性】选项 在弹出的属性…

GPT-4o: 引领多模态AI识别技术的革命【文末附GPT-4o教程】

GPT-4o简介 在人工智能技术的飞速发展中,图像识别已成为其核心能力之一。随着技术的不断演进,AI的图像处理能力已经从简单的内容识别,发展到能够将视觉信息转化为深入的文字描述。OpenAI最新发布的GPT-4o模型,正是这一进步的杰出…

AI + 3D 机器人视觉领域综合资源库

随着人工智能技术的不断发展,3D 机器人视觉领域已经成为了一个备受关注的研究方向。在这个领域中,研究者们致力于探索如何让机器人更好地理解三维空间,从而实现更加智能和灵活的操作。为了方便大家学习和研究,这里介绍一个全面的资源库——Awesome Robotics 3D,它汇集了最…

Bootstrap UI 编辑器

以下是 15 款最好的 Bootstrap 编辑器或者是在线编辑工具。 1. Bootstrap Magic 这是一个 Bootstrap 主题生成器,使用最新的 Bootstrap 3 版本和 Angular JS 版本,提供一个鲜活的用户修改预览。它包括了各种各样的导入,一个颜色选择器和智能…

写给大数据开发:在Databricks中自定义函数

你是否曾经在处理海量数据时感到力不从心?是否在重复编写相似代码时感到厌烦?如果是,那么Databricks中的自定义函数可能就是你一直在寻找的救星。在接下来的5分钟里,让我们一起探索如何利用这个强大的工具来revolutionize你的大数据开发工作流程。 目录 为什么要在Databrick…

kubernetes Pod 入门

一、Pod 的概念 kubernetes并不直接管理容器,它的最小管理单元是Pod。Pod是一个或多个容器的组合,这些容器贡献存储,网络,命名空间以及运行规范。在Pod中所有容器被统一安排和调度,在共享上下文中运行(共享…

一款基于BS的美食网站的设计与实现

TOC springboot586一款基于BS的美食网站的设计与实现--论文 选题背景 由于互联网技术的快速发展,使得各部门都是以数字化、信息化、无纸化的发展趋势,随着趋势的发展,各种决策系统、辅助系统也应运而生,其中,美食网…

高性能Web服务器-- Nginx 的架构与安装详解

1.1 Nginx 概述 1.1.1 Nginx简介 Nginx:engine X ,2002年开发,分为社区版和商业版(nginx plus ) 2019年3月11日 F5 Networks 6.7亿美元的价格收购 Nginx是免费的、开源的、高性能的HTTP和反向代理服务器、邮件代理服务器、以及TCP/UDP代理…

如何用CWE API 来减轻软件产品中的安全风险

本文分享自华为云开发者社区《用CWE API 减轻软件产品中的安全风险》作者: Uncle_Tom 1. CWE REST API 推出的目的 8 月 8 号,CWE™ 计划推出了“CWE REST API”。 CWE™计划由美国网络安全与基础设施安全局(Cybersecurity & Infrastructure Secur…

PyTorch——Dataloader使用

一、Dataloader是啥 前面我在写PyTorch的第一篇文章里讲过Dataset是啥,Dataset就是将数据集分类,并且分析出这些数据集它的位置哪、大小多少、这个数据集一共有多少数据......等等信息 那么把Dataset比作一副扑克牌,那么如果你就让这副牌放在…

《机器学习》 逻辑回归 大批量数据的下采样 <8>

一、案例文件 同样使用上节课的银行贷款案例,其文件内容大致如下:(共28万多条,31列) 现在要继续接着上节课的内容对模型进行优化 二、下采样流程 1、流程图示 2、具体流程介绍 1)切分原数据集 大…