nginc+memcache
memcache 分为服务端和客户端。服务端用来存放缓存,客户端用来操作缓存。
因此,可以使用 Nginx 直接访问 Memcache,并用$uri 和$args 等 Nginx 内置变量设定缓存 key规则,这样,当缓存命中时,Nginx 可以跳过通过 fastcgi 和 PHP 通信的过程,直接从 memcache中获取数据并返回。
OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。
1.下载openresty的压缩包,opwnresty中含有自身的nginx,因此不需要额外安装nginx
[root@server2 ~]# tar zxf openresty-1.11.2.3.tar.gz
[root@server2 ~]# cd openresty-1.11.2.3
[root@server2 openresty-1.11.2.3]# yum install gcc-c++ -y
[root@server2 openresty-1.11.2.3]# yum install pcre-devel -y
[root@server2 openresty-1.11.2.3]# yum install openssl-devel -y
[root@server2 openresty-1.11.2.3]# ./configure
[root@server2 openresty-1.11.2.3]# gmake
[root@server2 openresty-1.11.2.3]# gmake install
[root@server2 openresty-1.11.2.3]# cd /usr//local/openresty/nginx/conf/
2.更改配置文件
[root@server2 conf]# vim nginx.conf
###########################################
18 http {
19 upstream memcache { ##nginx 模块中,uosteam 主要用于完成数据的接收,处理,转发
20 server 127.0.0.1:11211; ##设置默认端口号
21 }
52 location /memc {
53 internal; ##只接受内部访问,不接收外部 http 请求
54 memc_connect_timeout 100ms;
55 memc_send_timeout 100ms;
56 memc_read_timeout 100ms;
57 set $memc_key $query_string; ##使用 Nginx 内置的$query_string 来作为 key
58 set $memc_exptime 300; ##缓存失效时间
59 memc_pass memcache;
60 } ##将请求的 URL 和后端服务返回的有效结果组成 key-value 存入 memcache服务
72 location ~ \.php$ {
73 set $key $uri$args;
74 srcache_fetch GET /memc $key;
##注册一个输入拦截器到 location,这个配置将在location 进入时被执行
75 srcache_store PUT /memc $key;
##注册一个输出拦截器到 location,当 location执行完成并输出时会被执行
76 root html;
77 fastcgi_pass 172.0.0.60:9000;
78 fastcgi_index index.php;
79 include fastcgi.conf;
80 }##为“~ \.php$”配置缓存,表示所有以“.php”结尾的请求都会结果被缓存
}
##当所请求的 uri 以“.php”结尾时,首先到 memcache 中查询有没有以$uri$args 为 key 的数据,如果有则直接返回;否则,执行 location 的逻辑,如果返回的 http 状态码为 200,则在输出前以$uri$args 为 key,将输入结果存入 memcache
###########################################
[root@server2 conf]# /usr/local/openresty/nginx/sbin/nginx -t
[root@server2 conf]# /usr/local/openresty/nginx/sbin/nginx -s reload
[root@server2 conf]# /etc/init.d/httpd start
##注意:http与nginx的端口号都为80,因此需要修改http的端口号
[root@server2 html]# /etc/init.d/iptables stop
[root@server2 html]# yum install memcached -y
测试:
1.开启memcached,在物理机中进行压力测试
[root@server2 conf]# /etc/init.d/memcached start
[root@foundation60 Desktop]# ab -c 10 -n 50000 http://172.25.60.3/index.php
2.关闭memcached,在物理机中进行压力测试
[root@server2 conf]# /etc/init.d/memcached stop
[root@foundation60 Desktop]# ab -c 10 -n 50000 http://172.25.60.3/index.php
转载于:https://blog.51cto.com/12961670/1930378
nginc+memcache相关推荐
- wdcp php5.3 pdo_mysql,WDCP常用组件(memcache、mysqli、PDO_MYSQL、mysql innodb、libmcrypt、php zip)的安装方法...
一般来说WDCP安装之后就可以正常使用了,不过对于一些朋友来说还无法满足,现在收集了有关WDCP常用组件,比如memcache.mysqli.PDO_MYSQL.mysql innodb.libmcr ...
- Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy
Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...
- Memcache内存分配策略
转自:http://tank.blogs.tkiicpp.com/2010/12/14/memcache%e5%86%85%e5%ad%98%e5%88%86%e9%85%8d%e7%ad%96%e7 ...
- memcache和memcached安装
首先要明确 memcache不是memcached 第一步安装libevent #wget https://github.com/downloads/libevent/libevent/libev ...
- 分享memcache和memcached安装过程
Memcache是什么? Memcache是一个自由和开放源代码.高性能.分配的内存对象缓存系统.用于加速动态web应用程序,减轻数据库负载. 它可以应对任意多个连接,使用非阻塞的网络IO.由于它的工 ...
- Linux下Memcache服务器端的安装
Linux下Memcache服务器端的安装 服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-1.3.0 . 下载:http://www.danga.com/memca ...
- Linux下的Memcache安装(含libevent的安装)
Linux下Memcache服务器端的安装 服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-1.3.0 . 下载:http://www.danga.com/memca ...
- 在apache中使用 memcache 来作 session 存储
session.save_handler = memcache session.save_path = "tcp://127.0.0.1:11211" 使用多个 memcached ...
- memcache安装
转载自 http://zhaochen.blog.51cto.com/2029597/390037 一,memcache简单介绍: memcached是高性能的分布式内存缓存服务器,为了提高性能,me ...
最新文章
- navicat远程连接mysql10060
- Objective-C学习之解析XML
- linux运行星际争霸1
- sql跨表查询_跨表更新,看到自己写的SQL像个憨憨
- 数据结构(四)之单链表查找中间结点
- SpringAOP xml 方式和注解简单实现日志处理
- java 中的 Math.round(-1.5) 等于多少?
- ArrayList 面试10连问
- 平衡二叉查找树的构造与遍历(C++)
- 用python绘制彩色_使用Python/Matplotlib基于彩色地图绘制(极轴)色轮
- 【Hoxton.SR1版本】Spring Cloud Eureka服务注册中心集群搭建
- 泛微oa java .net_第三方系统向泛微OA系统推送消息
- abap 创建出口历程_(发展战略)ABAP历史发展
- 通信技术基础知识回顾
- list对象转map
- 开源虚拟化KVM(一)搭建部署与概述
- Win10系统耳机插入不起作用_依然外放声音---Windows运维工作笔记053
- oracle中nowait怎么用,oracle中UPDATE nowait 的使用方法介绍
- arch linux u盘安装,如何把ArchLinux安装到U盘上
- 互联网医院系统软件开发|互联网医院管理系统开发的好处
热门文章
- ylb:创建数据库、表,对表的增查改删语句
- MD5+Base64加密(密码常用加密方式)
- Lambda表达式【转】
- python3.x 使用正则表达式拆分字符串并换行显示
- 数码管字体属于什么字体_photoshop里这方法就能知道图片上文字使用的是什么字体...
- leetcode 46 java,leetcode46.java
- Kali Linux快速切换root用户
- WireShark数据包分析数据封装
- python同步异步_python中Tornado的同步与异步I/O的介绍(附示例)
- 函数在机器底层是如何实现的_智能货柜专题三:如何实现不同机器“千机千面”?...