配置php扩展memcache
配置php扩展memcache
环境说明:
系统版本 CentOS 6.9 x86_64
软件版本 nginx-1.12.2 php-5.5.38 yum安装memcached1.4.4
php扩展memcache2.2.7 MemAdmin1.0.12
MemCache是一个自由、源码开放、高性能、分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度。 MemCaChe是一个存储键值对的HashMap,在内存中对任意的数据(比如字符串、对象等)所使用的key-value存储,数据可以来自数据库调用、API调用,或者页面渲染的结果。MemCache设计理念就是小而强大,它简单的设计促进了快速部署、易于开发并解决面对大规模的数据缓存的许多难题,而所开放的API使得MemCache能用于Java、C/C++/C#、Perl、Python、PHP、Ruby等大部分流行的程序语言。

1、数据库服务器配置memcached
- [root@db01 ~]# yum install memcached -y #安装memcached
- [root@db01 ~]# cat /etc/sysconfig/memcached #查看配置文件,默认即可,不做修改
- PORT="11211"
- USER="memcached"
- MAXCONN="1024"
- CACHESIZE="64"
- OPTIONS=""
- [root@db01 ~]# /etc/init.d/memcached start #启动
- Starting memcached: [ OK ]
- [root@db01 ~]# netstat -lntup|grep 11211 #检查
- tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN 2478/memcached
- tcp 0 0 :::11211 :::* LISTEN 2478/memcached
- udp 0 0 0.0.0.0:11211 0.0.0.0:* 2478/memcached
- udp 0 0 :::11211 :::* 2478/memcached
2、web服务器配置memcache
从官方网站下载源码包或本地上传http://pecl.php.net/package/memcache
其中版本号为3以上的是用于php7以上的,这里我们下载2.2.7版本

- [root@Web01 ~]# cd /service/tools/
- [root@Web01 tools]# wget http://pecl.php.net/get/memcache-3.0.8.tgz #下载源码包
- [root@Web01 tools]# tar xf memcache-2.2.7.tgz #解压
- [root@Web01 tools]# cd memcache-2.2.7
- [root@Web01 memcache-2.2.7]# ls
- config9.m4 CREDITS memcache_consistent_hash.c memcache_queue.c memcache_standard_hash.c
- config.m4 example.php memcache.dsp memcache_queue.h php_memcache.h
- config.w32 memcache.c memcache.php memcache_session.c README
- [root@Web01 memcache-2.2.7]# /application/php/bin/phpize #检查编译环境,不做检查不能执行./configure
- Configuring for:
- PHP Api Version: 20121113
- Zend Module Api No: 20121212
- Zend Extension Api No: 220121212
- [root@Web01 memcache-2.2.7]# ./configure --with-php-config=/application/php/bin/php-config --enable-memcache #编译
- [root@Web01 memcache-2.2.7]# make && make install
- [root@Web01 memcache-2.2.7]# ll /application/php5.5.38/lib/php/extensions/no-debug-non-zts-20121212/
- #检查
- memcache.so opcache.a opcache.so
- [root@Web01 memcache-2.2.7]# find /application/php5.5.38/ -name "php.ini"
- /application/php5.5.38/etc/php.ini #找出php配置文件php.ini的路径,默认在etc下,需要拷贝至lib下
- [root@Web01 memcache-2.2.7]# cp /application/php5.5.38/etc/php.ini /application/php5.5.38/lib/php.ini
- [root@Web01 memcache-2.2.7]# vim /application/php5.5.38/lib/php.ini #修改配置文件
- 行的内容指定扩展模块的路径并添加一行指定扩展模块名称
- 718 extension_dir = "/application/php5.5.38/lib/php/extensions/no-debug-non-zts-20121212/"
- 719 extension = "memcache.so"
- [root@Web01 tools]# pkill php-fpm
- [root@Web01 tools]# /application/php/sbin/php-fpm
- [root@Web01 tools]# /application/php/bin/php -m|grep memcache
- memcache
3、浏览器端检查
以discuz为例
重新访问刷新,进入管理中心——>全局———>性能优化——>内存优化,可以看到已经生效

4、配置开启服务器优化
编辑站点目录下config_global.php文件
- [root@Web01 discuz]# pwd
- /application/nginx/html/discuz
- [root@Web01 discuz]# vim config/config_global.php
- $_config['memory']['memcache']['server'] = '192.168.1.51'; #指定服务器地址
浏览器刷新再次访问,此时已经可以支持memcache

5、安装并配置memcache管理界面memadmin
MemAdmin是一款可视化的Memcached管理与监控工具,使用PHP开发,体积小,操作简单。
主要功能:
服务器参数监控:STATS、SETTINGS、ITEMS、SLABS、SIZES实时刷新
服务器性能监控:GET、DELETE、INCR、DECR、CAS等常用操作命中率实时监控
支持数据遍历,方便对存储内容进行监视
支持条件查询,筛选出满足条件的KEY或VALUE
数组、JSON等序列化字符反序列显示
兼容memcache协议的其他服务,如Tokyo Tyrant (遍历功能除外)
支持服务器连接池,多服务器管理切换方便简洁
5.1、下载安装包并解压到站点目录
官方网站下载:http://www.junopen.com/memadmin/
[root@Web01 memadmin]# tar xf memadmin-1.0.12.tar.gz
5.2、修改nginx配置文件指定站点目录及域名并平滑重启
- [root@Web01 memadmin]# nginx -t
- nginx: the configuration file /application/nginx-1.12.2/conf/nginx.conf syntax is ok
- nginx: configuration file /application/nginx-1.12.2/conf/nginx.conf test is successful
- [root@Web01 memadmin]# nginx -s reload
5.3、浏览器访问
根据提示,默认的用户名和密码都是admin,可以在config.php中修改

输入用户名密码登录并绑定服务器,这里绑定的是安装了memcached服务的数据库服务器192.168.1.51,可以进行相关操作,图形化界面操作不作介绍,功能很多,缺少的只是发现的眼睛

博主原创文章,转载请务必注明出处
配置php扩展memcache的更多相关文章
- windows 下编译php扩展库pecl里的扩展memcache
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像.视频.文件以及数据库检索的结果等.简单的说就是将数据调用到内 ...
- linux-CentOS6.4安装Memcached+memcached扩展+安装memcache扩展+Memcache+mecached同步SESSION的几种方法
一.编译环境的准备 yum install gcc yum install gcc-c++ libstdc++-devel yum install zlib-devel 二.源代码包准备 wget ...
- Mybatis中SqlMapper配置的扩展与应用(1)
奋斗了好几个晚上调试程序,写了好几篇博客,终于建立起了Mybatis配置的扩展机制.虽然扩展机制是重要的,然而如果没有真正实用的扩展功能,那也至少是不那么鼓舞人心的,这篇博客就来举几个扩展的例子. 这 ...
- PHP扩展memcache模
研究yii当配套部件,发现自己PHP甚至不支持memcache该模块,于是,我就展开位. 本机环境:win8.1 开发环境:php 5.5 第一步:先把所需的文件包下载全然,我已经打包好,这里能够下 ...
- win7下wamp扩展memcache
1.服务端安装 1.1 下载地址 http://download.csdn.net/detail/feiyuhit/5873533#comment 1.2 安装 将下载的压缩文件夹的memcached ...
- php扩展memcache和memcached区别?以及memcached软件的介绍
引用“http://www.vicenteforever.com/2012/03/memcache-different-memcached/” memcached是一个软件,而PHP包括了memcac ...
- Struts 2 动作注释 配置动作扩展 全局开关
动作注释package com.yiibai.user.action; import org.apache.struts2.convention.annotation.Action; import o ...
- Linux安装php扩展memcache
Linux安装php扩展memcache php扩展memcache的作用是为了支持memcached数据库缓存服务器,下面是安装方法.1.下载并解压memcache文件 wget -c http ...
- 关于YiII框架的扩展memcache中set设置时间就get查询失效的解决方案(版本是1.1.20)
0x01 前言 在使用Yii框架的扩展memcache缓存的时候,存储数据有一个set方法,来看一下set方法的原型: public boolean set(string $id, mixed $va ...
随机推荐
- Restful 权限的思考
转自:https://cnodejs.org/topic/551802d3687c387d2f5b2906 基于RESTful API 怎么设计用户权限控制? 原文链接:简书 前言 有人说,每个人 ...
- WCF信道绑定代码
监听端创建信道Listener,代码 using System; using System.Collections.Generic; using System.Linq; using System.T ...
- POJ1163 The Triangle
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 44997 Accepted: 27174 Description 73 ...
- Android ANR 详解
ANR简介 ANR,是“Application Not Responding”的缩写,即“应用程序无响应”.在Android中,ActivityManagerService(简称AMS)和Window ...
- log4net日志分割,按大小分割
最近写了一个socket通信的手表在线服务端,在日志方面,记录下Log4net日志分割 1.引入log4net.dll 2.web.config添加configsection handler 映射: ...
- 自定义Windows服务并实施安装
1.新建项目DemoService,并添加windows服务,命名DemoService 2.添加代码 using System; using System.Collections.Generic; ...
- Linux/Android——input_handler之evdev (四) 【转】
转自:http://blog.csdn.net/u013491946/article/details/72638919 版权声明:免责声明: 本人在此发文(包括但不限于汉字.拼音.拉丁字母)均为随意敲 ...
- linux内核分析之缺页中断【转】
转自:http://blog.csdn.net/bullbat/article/details/7108402 linux缺页异常程序必须能够区分由编程引起的异常以及由引用属于进程地址空间但还尚未分配 ...
- Linux c 目录操作函数scandir
头文件#include <dirent.h> 函数定义:int scandir(const char *dir,struct dirent **namelist,int (*filter ...
- 字符编码笔记:ASCII、Unicode、UTF-8 和 Base64
1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态(-128~127),这被称为一 ...