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

    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. 修改718行的内容指定扩展模块的路径并添加一行指定扩展模块名称  
    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,可以进行相关操作,图形化界面操作不作介绍,功能很多,缺少的只是发现的眼睛

     

     

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

  • 相关阅读:
    如何配置tomcat的环境变量
    如何配置jdk的本地环境
    如何下载最新版本和旧版本的eclipse?
    用eclipse开发需要准备什么?
    eclipse.ini相关问题
    jquery如何遍历table,并对table里的某一个单元格进行操作
    jquery的Layer弹出框操作
    select列表遍历和触发事件
    Spring AOP详细介绍
    简单介绍Spring的ContextLoaderListener
  • 原文地址:https://www.cnblogs.com/ssgeek/p/9223430.html
Copyright © 2020-2023  润新知