openresty—实现缓存前移

含义及理解:

OpenResty(又称:ngx_openresty) 是一个基于 NGINX 的可伸缩的 Web 平台,由中国人章亦春发起,提供了很多高质量的第三方模块。

其目标是让Web服务直接跑在Nginx服务内部,充分利用Nginx的非阻塞I/O模型,不仅仅对HTTP客户端请求,甚至于对远程后端诸如MYSQL,PostgreSQL,Memcached以及Redis等都进行一致的高性能响应

实验搭建

首先关闭nginx服务(其自身已经有nginx,所以需要把nginx关闭)

nginx -s stop

解压编译安装

tar zxf openresty-1.13.6.1.tar.gz 
cd openresty-1.13.6.1
./configure --prefix=/usr/local/openresty
gmake && gmake install

拷贝之前example.php和index.php到默认发布目录准备测试

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

修改openresty的nginx配置文件
vim /usr/local/openresty/nginx/conf/nginx.conf

    upstream memcache {server localhost:11211;keepalive 512;}location /memc {internal;  # 只接收内部访问,不接受外部http访问。比较安全memc_connect_timeout 100ms;memc_send_timeout 100ms;   ##后端服务器数据回传时间memc_read_timeout 100ms;   ##连接成功后,后端服务器响应时间set $memc_key $query_string;set $memc_exptime 300;memc_pass memcache;}location ~ \.php$ {set $key $uri$args;##http的GET方法表示get、PUT方法表示setsrcache_fetch GET /memc $key;(这两个配置的作用是:请求php页面时,先会去memcache中找,如果没有,正常访问;srcache_store PUT /memc $key; 访问结束后将结果存到memcache,下次访问时直接从缓存中)root           html;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;#fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;include        fastcgi.conf;}

在这里插入图片描述

在这里插入图片描述

编写配置完毕检测语法并开启nginx

/usr/local/openresty/nginx/sbin/nginx -t
/usr/local/openresty/nginx/sbin/nginx

再次对网页进行压力测试:

ab -c 10 -n 5000 http://172.25.11.4/index.php
ab -c 10 -n 5000 http://172.25.11.4/example.php

与之前只设定了php的memcache的网页进行对比
发现速度会比之前只加了php的缓存更快
重点说明一下对index.php页面的访问,访问速度有了明显的差别 因为php是没有缓存的
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

Nginx+Keepalived+Tomcat之动静分离的web集群

NginxKeepalivedTomcat之动静分离的web集群 博客分类: webserverNginxKeepalivedTomcat之动静分离的web集群为小公司提供大概一天持续在100万/日之间访问的高性能、高可用、高并发访问及动静分离的web集群方案NginxKeepalived 高可用、反向代理NginxPHP …

安装完成后的配置_cent os7 默认安装后的一般配置

在安装cent os7后,进入系统会出现一些命令无法执行。这是因为最小化没有安装包含的软件包。这时候先要配置一下基本的IP参数,(包括动态,静态,或者是双网卡绑定)。我们在虚拟机中模拟操作一下,配置文件在/etc/sysconfig…

Java Integer类lowerOneBit()方法与示例

整数类lowerOneBit()方法 (Integer class lowestOneBit() method) lowestOneBit() method is available in java.lang package. minimumOneBit()方法在java.lang包中可用。 lowestOneBit() method is used to find at most only single 1’s bit from the rightmost side one b…

lnmp构架——对tomcat详解

tomcat的安装部署 安装jdk和tomcat tar zxf jdk-7u79-linux-x64.tar.gz -C /usr/local/ tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/local/做好软连接便于访问 cd /usr/local ln -s jdk1.7.0_79/ java ln -s apache-tomcat-7.0.37/ tomcat配置环境变量 vim /etc/profile…

Linux 查找文件

find 查找目录 -name "文件名"find / -name "php.ini"locate 文件名locate php.ini 一:locate命令 locate命令用于查找文件,它比find命令的搜索速度快,它需要一个数据库,这个数据库由每天的例行工作&#xff…

Java GregorianCalendar hashCode()方法与示例

GregorianCalendar类的hashCode()方法 (GregorianCalendar Class hashCode() method) hashCode() method is available in java.util package. hashCode()方法在java.util包中可用。 hashCode() method is used to returns the hash code for this GregorianCalendar. hashCode…

python元组为什么不可变_为什么python字符串和元组是不可变的?

我不知道为什么字符串和元组是不可变的;使它们不可变的优点和缺点是什么?除了Python解释器的内部实现,这种设计在编写程序上是否有很好的意义?(例如,如果元组和字符串是可变的,会更容易吗?)如果…

InnoDB事务结构体代码变量列表

事务结构 struct trx_t 写在前面 InnoDB是MySQL的一个存储引擎,支持事务,支持非堵塞的一致性读,物理存储结构是Page,每个事务都有回滚日志,重做日志,事务还会有死锁检测,各种各样不同的锁等等等…

对cookie与session的理解

cookie: 在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。 cookie的出现就是为了解决这个问题, 第一次登录后服务器返回一些数据(…

ubutun 更换网络源_Ubuntu 更换源

1.切换到root用户# su root备份源文件 目录:/etc/apt# cd /etc/apt/# cp sources.list sources.list.bk3.更换源 阿里源 清华源# >sources.list # 清空源# vim sources.list # 选择一个源,复制进去# apt update # 更新源,需要等几分钟# ex…

php : 常用函数

常用函数&#xff1a; <?php /*** 获取客户端IP* return [string] [description]*/ function getClientIp() {$ip NULL;if (isset($_SERVER[HTTP_X_FORWARDED_FOR])) {$arr explode(,, $_SERVER[HTTP_X_FORWARDED_FOR]);$pos array_search(unknown,$arr);if(false ! $po…

java日历类add方法_Java日历setFirstDayOfWeek()方法与示例

java日历类add方法日历类setFirstDayOfWeek()方法 (Calendar Class setFirstDayOfWeek() method) setFirstDayOfWeek() method is available in java.util package. setFirstDayOfWeek()方法在java.util包中可用。 setFirstDayOfWeek() method is used to sets the first day o…

zabbix监控部署 与添加主机

zabbix介绍&#xff1a; zabbix&#xff08;[zbiks]&#xff09;是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数&#xff0c;保证服务器系统的安全运营&#xff1b;并提供灵活的通知机制以让系统管理员快速定位/解决…

线段树 洛谷 p1531 I hate it(I hate it too)

这里写链接内容 线段树模板 字符串是一个很诡异的问题。。。。 #include<cstdio> #include<iostream> #include<string> #define q 200000 using namespace std; int a[q5],s[q<<25]; void bu(int o,int l,int r)//建树 {if(lr){s[o]a[r];} else{int…

打开是什么样子的图片_情侣头像 | 无论是什么样子的你 我都好喜欢

点击【情侣图片大全】- 右上角找到【…】立刻设我为星标/置顶 - 不迷路哦情侣图片大全“时光真疯狂&#xff0c;我一路执迷与匆忙”情侣/闺蜜/动漫/闺蜜网名长按图片保存 点击图片放大图片高清&#xff0c;建议在 W i f i 下浏览这个世界是多么神奇我竟然遇见了你无论是什么…

Java File类File [] listFiles()方法(带示例)

File类File [] listFiles() (File Class File[] listFiles()) This method is available in package java.io.File.listFiles(). 软件包java.io.File.listFiles()中提供了此方法。 This method is used to return the names of all the files in the form of an array of files…

zabbix监控平台添加服务(http,nginx,mysql)

1 . 监控httpd服务&#xff1a; 首先确保已经搭建zabbix监控平台&#xff0c;并且将需要监控的主机已经添加。 对主机server2 上的http服务进行监控&#xff0c;首先确保server2主机安装了http服务。 使用http在zabbix中自带监控模版 点击配置->主机->server2->模…

java为什么要重写hashCode和equals方法

如果不被重写&#xff08;原生&#xff09;的hashCode和equals是什么样的&#xff1f;不被重写&#xff08;原生&#xff09;的hashCode值是根据内存地址换算出来的一个值。 不被重写&#xff08;原生&#xff09;的equals方法是严格判断一个对象是否相等的方法&#xff0…

stl中map函数_map :: max_size()函数,以及C ++ STL中的Example

stl中map函数C STL映射:: max_size() (C STL map::max_size() ) It returns the maximum number of elements the container(map) is able to hold but at runtime, the size of the container may be limited to a value smaller than specified by max_size() by the amount…

arduino 蓝牙示例_Arduino简单实例之八_蓝牙模块

1) 说明&#xff1a;蓝牙模块用于和手机或其它带蓝牙的设备通讯。蓝牙设备分为主从两种模式&#xff0c;作为主设备时&#xff0c;它查找和连接其它设备&#xff1b;作为从设备时只能被只它设备连接&#xff1b;通讯模式分透明传输和AT命令模式。最好购买主从一体的蓝牙模…