企业—MemCache对PHP页面的缓存加速的部署

一.MemCache缓存加速的部署

1.MemCache的源码编译

  • (1)官网下载压缩包并进行解压
    在这里插入图片描述
  • (2)将已经编译完成的php二进制命令加入环境变量中方便调用
[root@server1 memcache-2.2.5]# vim ~/.bash_profile 
[root@server1 memcache-2.2.5]# source ~/.bash_profile 

在这里插入图片描述

  • (3)编译汇编
    memcache的编译汇编不是直接使用./configure,而是使用phpize生成configure文件,然后再进行编译汇编
  • phpize是用来扩展php扩展模块的。通过phpize可以建立php的外挂模块,可以在原来编译好的php中加入memcached的扩展模块
  • phpize工具是再php的安装目录下,对应了但是的php环境,所以是要根据该php配置情况生成configure文件,必须在要进行扩展的目录下进行phpize,则configure就会在这个目录下。
[root@server1 memcache-2.2.5]# phpize
[root@server1 memcache-2.2.5]# ./configure
[root@server1 memcache-2.2.5]# make && make install

在这里插入图片描述
在这里插入图片描述
2.php中添加memcache模块

[root@server1 ~]# cd /usr/local/lnmp/php/etc/
[root@server1 etc]# vim php.ini
[root@server1 etc]# /etc/init.d/php-fpm reload 
[root@server1 etc]# php -m #查看php的模块
[root@server1 etc]# php -m | grep memcache #在php模块中过滤memcache模块,发现同时php也支持数据库模块

在这里插入图片描述
在这里插入图片描述
3.memcached的配置

  • (1)安装工具并启动
[root@server1 etc]# yum install memcached -y
[root@server1 etc]# /etc/init.d/memcached start

在这里插入图片描述

  • (2)查看监听端口(默认11211)
    在这里插入图片描述
  • (3)显示11211端口是表示监视11211端口的所有主机,如果想要只设置监听本机可进行如下操作
    注意:在企业中实际监听本机是不合理的。
    在这里插入图片描述
    文件编辑内容如下:
    在这里插入图片描述
    重启服务查看端口是否改变
    在这里插入图片描述
  • (4)将memcache的测试文件复制到nginx的默认发布目录下
[root@server1 ~]# cd memcache-2.2.5
[root@server1 memcache-2.2.5]# cp memcache.php example.php /usr/local/lnmp/nginx/html/

在这里插入图片描述

  • (5)设置memcache的密码
[root@server1 html]# vim memcache.php 

文件编辑内容如下:
在这里插入图片描述
3.telnet配置(实现远程连接服务器)

  • Telnet的定义:
    Telnet协议是TCP/IP协议中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机的工作能力,在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制web服务器的方式。默认使用23端口
  • Telnet提供远程登录功能,使得用户在本地主机上运行Telnet客户端,就可以登录到远端的Telnet服务器,在本地输入命令可以在服务器上运行,服务器把结果返回到本地,如果直接在服务器的控制台上操作,这样就可以在本地远程操作和控制服务器。
  • telnet的登录是:telnet IP 端口号
  • (1)下载telnet
[root@server1 html]# yum install telnet -y
  • (2)登录并且查看
    在这里插入图片描述
set key flags exptime bytes value
其中含义如下:
key:键值对中的key,用于查找缓存值
flags:可以包括键值对的整型参数,客户机用于它存储关于键值对的额外信息
exptime:在缓存中保持键值对的时间长度(以秒为单位,0表示永远)
bytes:在缓存中存储的字节数
value:存储的数值,可以理解为key-value中的value

在这里插入图片描述
4.测试

  • (1)在浏览器中登录
    注:可能会出现的问题:
  • 登录不成功可能是因为在配置文件中设置了只监听本机,所以其它主机登录时就会拒绝
    解决如下:
vim /etc/sysconfig/memcached 

在这里插入图片描述

  • 在memcache.php中没有设置memcache的服务器没有注释
    会出现下面错误
    在这里插入图片描述
    解决如下:
[root@server1 html]# vim memcache.php 

在这里插入图片描述
问题解决后再次刷新页面:显示如下
在这里插入图片描述

在这里插入图片描述

  • 再次刷新memcache.php发现命中率进一步提高已经达到99%
    在这里插入图片描述
  • (2)压力测试:加速页面和没有进行加速页面的对比
    a.安装测试时所用命令的软件
[root@server1 html]# yum install httpd-tools-2.2.15-29.el6_4.x86_64 -y

b.访问没有缓存的index.php

[root@server1 html]# ab -c 10 -n 5000 http://172.25.254.1/index.php

在这里插入图片描述
可以看到所用的时间及出错的报的个数

c.访问已经缓存了的example.php

[root@server1 html]# ab -c 10 -n 5000 http://172.25.254.1/example.php

在这里插入图片描述
可以看到错误的包为0,错误率基本为0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值