nginx+php+memcached

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx+php+memcached相关的知识,希望对你有一定的参考价值。

一 memcached :

1 memcached介绍:

Memcached 是一个开源的、支持高性能、高并发的分布式内存缓存系统。由C语言编写,总共2000多行代码 mem(内存)Cache(缓存)d(守护进程)
Memcached 服务分为服务端和客户端两部分,其中服务端的名字是memcached
客户端的名字 memcache
Memcached 软件诞生于2003年,最初由livejournal的brad fitzpatrick 开发协议简单,部署方便
memcached的作用
传统场景,多数web应用都将数据保存到关系型数据库中,web服务器从中读取数据并在浏览器中显示,但是随着数据量的增大吗,访问集中,关系型数据库的负担就会出现加重、相应缓慢、导致网站打开延迟等问题,影响用户一体验。
使用memcached的主要目的是,通过在自身内存中的缓存关系型数据库的查询结果,减少数据库自身被访问的次数,以提高动态web应用的速度,提高网站架构的并发能力和可扩展性
web读数据
1 读取memcached的数据,如果存在,则显示结果
2 如果memcached没有数据,程序会直接读取数据库的数据,数据库返回结果,程序将返回的结果存入memcached缓存中

2 Memcached 的特性

1 协议简单:采用文本行的协议,能通过telent/nc等命令直接操作memcached服务存储数据
2 支持epoll/kqueue 异步I/O模型,使用libevent作为时间处理通知机制,
Libevent 会将事封装成接口,提供给memcached使用
nginx也支持这种模型
3 key/value 键值数据类型(哈希表)
4 全内存缓存,效率高
当内存中数据容量那个达到服务器启动时设定的内存值,就会自动使用LRU算法删除过期的缓存数据,也可以在存放数据时对存储的数据设置过期时间,这样过期后数据就会自动被清除,memcached服务本身不会监控数据过期,而是在访问key的时候的时间戳判断是否过期
5 可支持分布式集群
memcached没有向mysql那样的主从同步方式,分布式memcached 集群的不同服务器之间是互不通信的,每一个节点都是独立存取数据,并且数据内容也应该是不一样的,通过对web应用端的程序设计或者通过支持hash算法的负载均衡软件,可以让memcached支持大规模海量分布式存储集群应用。

二 nginx+memcached+php(此处memcached是PHP的缓存)

软件包:
链接:https://pan.baidu.com/s/1KgJv-ptqWDatcI1pGSIStQ
密码:ia59

PHP 配置见:http://blog.51cto.com/11233559/2110593

1 修改环境变量使其可以支持phpize

技术分享图片
技术分享图片
刷新
技术分享图片

2 安装memcache

技术分享图片

1 解压

技术分享图片

2 使用phpzie

技术分享图片

3 进行configure

技术分享图片

4 编译和安装

技术分享图片

5 加载相应的memcache 模块到php中

技术分享图片
技术分享图片
技术分享图片
技术分享图片

6 在php中memcache没有启动的情况下进行访问

技术分享图片

7 复制memcache 相关的数据包

技术分享图片
技术分享图片

8 修改管理用户和链接的主机

技术分享图片
技术分享图片

9 重启php使其加载memcache动态模块

技术分享图片

10 进行访问,查看上述配置是否正确

技术分享图片

11 目前没有访问情况下的占比

技术分享图片

3安装memecached 服务器

1 安装

技术分享图片

2 启动并查看其监控的端口 11211

技术分享图片

4 在客户端进行压力测试

技术分享图片
服务端查看缓存情况
技术分享图片

二 nginx+memcached+PHP (此处memcached是nginx 的缓存)

此时需要有支持memcache模块的nginx 二次开发包
下载此开发包

1 关闭原来的nginx

技术分享图片

2 下载openresty 和 nginx-sticky-module-ng.tar.gz包

解压
技术分享图片
技术分享图片
指定其路径和增加的模块
技术分享图片
编译和安装
技术分享图片
技术分享图片

3 基本优化

技术分享图片
技术分享图片

4 配置memcahe支持模块

技术分享图片

技术分享图片
技术分享图片
重启服务
技术分享图片
进行压力测试
技术分享图片

以上是关于nginx+php+memcached的主要内容,如果未能解决你的问题,请参考以下文章

NGINX+PHP好,还是NGINX+APACHE+PHP好

mac配置php-fpm,nginx运行多版本php

linux+nginx+php问题。我在linux上装了nginx+php,可是能打开网页却打不开.php文件,这是哪里问题呢??

nginx配置 接口状态200,但是PHP无返回数据,php服务

一台机linux器装nginx一台装PHP,怎么能够用nginx访问php页面?

nginx 浏览php的时候会变成下载