配置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

  1. [root@db01 ~]# yum install memcached -y         #安装memcached  
  2. [root@db01 ~]# cat /etc/sysconfig/memcached     #查看配置文件,默认即可,不做修改  
  3. PORT="11211"  
  4. USER="memcached"  
  5. MAXCONN="1024"  
  6. CACHESIZE="64"  
  7. OPTIONS=""  
  8. [root@db01 ~]# /etc/init.d/memcached start      #启动  
  9. Starting memcached:                                        [  OK  ]  
  10. [root@db01 ~]# netstat -lntup|grep 11211            #检查  
  11. tcp        0      0 0.0.0.0:11211               0.0.0.0:*                   LISTEN      2478/memcached        
  12. tcp        0      0 :::11211                    :::*                        LISTEN      2478/memcached        
  13. udp        0      0 0.0.0.0:11211               0.0.0.0:*                               2478/memcached        
  14. udp        0      0 :::11211                    :::*                                    2478/memcached  

2、web服务器配置memcache

从官方网站下载源码包或本地上传http://pecl.php.net/package/memcache

其中版本号为3以上的是用于php7以上的,这里我们下载2.2.7版本

  1. [root@Web01 ~]# cd /service/tools/  
  2. [root@Web01 tools]# wget http://pecl.php.net/get/memcache-3.0.8.tgz     #下载源码包  
  3. [root@Web01 tools]# tar xf memcache-2.2.7.tgz       #解压  
  4. [root@Web01 tools]# cd memcache-2.2.7  
  5. [root@Web01 memcache-2.2.7]# ls  
  6. config9.m4  CREDITS      memcache_consistent_hash.c  memcache_queue.c    memcache_standard_hash.c  
  7. config.m4   example.php  memcache.dsp                memcache_queue.h    php_memcache.h  
  8. config.w32  memcache.c   memcache.php                memcache_session.c  README      
  9. [root@Web01 memcache-2.2.7]# /application/php/bin/phpize        #检查编译环境,不做检查不能执行./configure  
  10. Configuring for:  
  11. PHP Api Version:         20121113  
  12. Zend Module Api No:      20121212  
  13. Zend Extension Api No:   220121212  
  14. [root@Web01 memcache-2.2.7]# ./configure --with-php-config=/application/php/bin/php-config --enable-memcache    #编译  
  15. [root@Web01 memcache-2.2.7]# make && make install  
  16. [root@Web01 memcache-2.2.7]# ll /application/php5.5.38/lib/php/extensions/no-debug-non-zts-20121212/  
  17. #检查  
  18. memcache.so  opcache.a    opcache.so  
  19. [root@Web01 memcache-2.2.7]# find /application/php5.5.38/ -name "php.ini"  
  20. /application/php5.5.38/etc/php.ini  #找出php配置文件php.ini的路径,默认在etc下,需要拷贝至lib下  
  21. [root@Web01 memcache-2.2.7]# cp /application/php5.5.38/etc/php.ini /application/php5.5.38/lib/php.ini  
  22. [root@Web01 memcache-2.2.7]# vim /application/php5.5.38/lib/php.ini     #修改配置文件  
  23. 行的内容指定扩展模块的路径并添加一行指定扩展模块名称  
  24. 718 extension_dir = "/application/php5.5.38/lib/php/extensions/no-debug-non-zts-20121212/"  
  25. 719 extension = "memcache.so"  
  26. [root@Web01 tools]# pkill php-fpm  
  27. [root@Web01 tools]# /application/php/sbin/php-fpm  
  28. [root@Web01 tools]# /application/php/bin/php -m|grep memcache  
  29. memcache  

3、浏览器端检查

以discuz为例

重新访问刷新,进入管理中心——>全局———>性能优化——>内存优化,可以看到已经生效

4、配置开启服务器优化

编辑站点目录下config_global.php文件

  1. [root@Web01 discuz]# pwd  
  2. /application/nginx/html/discuz  
  3. [root@Web01 discuz]# vim config/config_global.php  
  4. $_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配置文件指定站点目录及域名并平滑重启

  1. [root@Web01 memadmin]# nginx -t   
  2. nginx: the configuration file /application/nginx-1.12.2/conf/nginx.conf syntax is ok  
  3. nginx: configuration file /application/nginx-1.12.2/conf/nginx.conf test is successful  
  4. [root@Web01 memadmin]# nginx -s reload  

5.3、浏览器访问

根据提示,默认的用户名和密码都是admin,可以在config.php中修改

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

 

 

博主原创文章,转载请务必注明出处

配置php扩展memcache的更多相关文章

  1. windows 下编译php扩展库pecl里的扩展memcache

    Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像.视频.文件以及数据库检索的结果等.简单的说就是将数据调用到内 ...

  2. linux-CentOS6.4安装Memcached+memcached扩展+安装memcache扩展+Memcache+mecached同步SESSION的几种方法

    一.编译环境的准备 yum install gcc  yum install gcc-c++ libstdc++-devel  yum install zlib-devel 二.源代码包准备 wget ...

  3. Mybatis中SqlMapper配置的扩展与应用(1)

    奋斗了好几个晚上调试程序,写了好几篇博客,终于建立起了Mybatis配置的扩展机制.虽然扩展机制是重要的,然而如果没有真正实用的扩展功能,那也至少是不那么鼓舞人心的,这篇博客就来举几个扩展的例子. 这 ...

  4. PHP扩展memcache模

    研究yii当配套部件,发现自己PHP甚至不支持memcache该模块,于是,我就展开位. 本机环境:win8.1 开发环境:php 5.5  第一步:先把所需的文件包下载全然,我已经打包好,这里能够下 ...

  5. win7下wamp扩展memcache

    1.服务端安装 1.1 下载地址 http://download.csdn.net/detail/feiyuhit/5873533#comment 1.2 安装 将下载的压缩文件夹的memcached ...

  6. php扩展memcache和memcached区别?以及memcached软件的介绍

    引用“http://www.vicenteforever.com/2012/03/memcache-different-memcached/” memcached是一个软件,而PHP包括了memcac ...

  7. Struts 2 动作注释 配置动作扩展 全局开关

    动作注释package com.yiibai.user.action; import org.apache.struts2.convention.annotation.Action; import o ...

  8. Linux安装php扩展memcache

    Linux安装php扩展memcache   php扩展memcache的作用是为了支持memcached数据库缓存服务器,下面是安装方法.1.下载并解压memcache文件 wget -c http ...

  9. 关于YiII框架的扩展memcache中set设置时间就get查询失效的解决方案(版本是1.1.20)

    0x01 前言 在使用Yii框架的扩展memcache缓存的时候,存储数据有一个set方法,来看一下set方法的原型: public boolean set(string $id, mixed $va ...

随机推荐

  1. BZOJ1196 [HNOI2006]公路修建问题 【二分 + Kruskal】

    题目 OI island是一个非常漂亮的岛屿,自开发以来,到这儿来旅游的人很多.然而,由于该岛屿刚刚开发不久,所以那里的交通情况还是很糟糕.所以,OIER Association组织成立了,旨在建立O ...

  2. 论文笔记《Tracking Using Dynamic Programming for Appearance-Based Sign Language Recognition》

    一.概述 这是我在做手势识别的时候,在解决手势画面提取的时候看的一篇paper,这里关键是使用了动态规划来作为跟踪算法,效果是可以比拟cameshift和kf的,但在occlusion,gaps或者离 ...

  3. MySQL的菜鸟级操作

    windows下启动和关闭mysql 启动(windows): 在命令行下,进入到mysql安装路径的bin文件夹下执行:net start mysql 关闭(windows): 在启动的情况下执行: ...

  4. 自定义View Layout过程 (3)

    目录 目录 1. 知识基础 具体请看我写的另外一篇文章:(1)自定义View基础 - 最易懂的自定义View原理系列 2. 作用 计算View视图的位置. 即计算View的四个顶点位置:Left.To ...

  5. 【IDEA】IDEA创建Maven的Web项目并运行以及打包

     0.IDEA集成Maven并设置Maven的配置 idea15之后的版本,都自带了maven插件,idea14貌似需要自己安装,方法也很简单:File->Settings->Plugin ...

  6. js生成一周内的日期+周几

    (如有错敬请指点,以下是我工作中遇到并且解决的问题) 效果有两种: 两者区别是 1.第一天(今天)显示今日 2.第一天(今天)显示周几 (第一个图是在手机上显示的效果,第二个是PC网页上显示的效果) ...

  7. android的百度地图开发(二) 定位

    参考:http://blog.csdn.net/mr_wzc/article/details/51590485 第一步,初始化LocationClient类 //获取地图控件引用 mMapView = ...

  8. 为什么32位系统最大支持4G内存??我自己悟出来了 终于 。。。。。

    今天突然开窍了,想通了..... 以下是我的抽象想法: 32位系统 这个 多少位 指的是 硬件的 一次性发送过来的位数,一个字节 等于8位,内存的一个存储单元就是一个字节,即8位. 也可以这样来想这个 ...

  9. 关于delphi编程的网络文件夹复制的代码精要

    首先必须引用windows api函数库 shellapi ***************************以下为复制文件夹的代码******************************** ...

  10. ubuntu常用终端命令

    # ctrl + l - 清屏 . cLear# ctrl + c - 终止命令. # ctrl + d - 退出 shell,好像也可以表示EOF. # ctrl + z - 将当前进程置于后台,f ...