Nginx(十一)php增加memcache模块

(1)将phpize加入环境变量

(1)将php的bin目录路径增加到 ~/.bash_profile中,为了方便调用

PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin:/usr/local/lnmp/php/bin

source ~/.bash_profile # 及时生效!

(2)memcache目录中本来没有configure文件,所以没法编译

  yum install autoconf

# 然后先执行命令:phpize才会生成configure文件

phpize是干什么的

phpize是用来扩展php扩展模块的-->

通过phpize可以建立php的外挂模块,比如你想在原来编译好的php中加入memcached或者ImageMagick等扩展模块,可以使用phpize。

或者说,phpize的作用可以这样理解:侦测环境(phpize工具是在php安装目录下,基于这点phpize对应了当时的php环境,所以是要根据该php的配置情况生成对应的configure文件),建立一个configure文件。必须在一个目录下去运行phpize。那么phpize就知道你的的环境是哪个目录,并且configure文件建立在该目录下

(2)编译安装memcache

##编译
./configure
##安装
make && make install

(3)修改php主配置文件增加memcache模块

vim /usr/local/lnmp/php/etc/php.ini

# 873 extension=memcache.so

(4)重新加载php

/etc/init.d/php-fpm reload

(5)可以查看是否加载成功

php -m | grep mysql

php -m | grep memcache # 核心

(6)安装memcached后台进程

yum install -y memcached

(7)查看memcached的配置文件

cat /etc/sysconfig/memcached

PORT="11211"
USER="memcached"
MAXCONN="1024" ##最大链接数1024
CACHESIZE="64"
OPTIONS=""     ##任何,如果写为OPTIONS="-l 127.0.0.1" 即为只监听本机的11211端口

(8)启动memcached

netstat -antlupe|grep memcache
systemctl start memcached
netstat -antlupe|grep memcache
systemctl status memcached

(9)telnet测试

yum install telent -y
telnet localhost 11211  # 测试!
# stats(查看状态)
# set name 0 0 6 (0编号 0缓存时间(此处0代表不限制时间) 6限制字符数) 
# key:name;编号:0;缓存时间:0(永久)valuce值:6位
# set name 0 5 6        ##设置缓存5s,过5s再获取name,为空

(10)拷贝php页面到nginx默认发布目录

cp memcache.php example.php /usr/local/lnmp/nginx/html/

# memcache.php监控页面

# example.php测memcache命中率-->提供的测试页面(php应用代码调用,实现缓存)

修改内容

vim memcache.php 

define('ADMIN_USERNAME','memcache');    ## Admin Username(自定义)-->页面加密!
define('ADMIN_PASSWORD','westos');      ## Admin Password(自定义)

$MEMCACHE_SERVERS[] = '172.25.2.150:11211'; // ip addr show 查看!

#$MEMCACHE_SERVERS[] = 'mymemcache-server2:11211'; // add more as an array

# 只留一个主机,memcache没有转发或负载均衡机制,只能一个一个添加

# 因为本实验只有一个主机,其实可以添加多个!

(11)相关服务保证开启

cd /usr/local/lnmp/nginx/html/
vim index.php             # 配置首页
vim ../conf/nginx.conf    # 打开php的支持并配置首页
nginx -t relaod ##        # 保证nginx服务开启
/etc/init.d/php-fpm start # 保证fastcgi(php-fpm)开启

(12)测试

# 访问http://172.25.2.150/memcache.php
# 输入用户名密码,可以查看memcache命中率
# 使用http://172.25.230.5/example.php不停刷新来测试

说明:只访问了两次,所以第二次命中缓存

(13)在物理机分别对两个页面进行压测

ab -c 10 -n 5000 http://172.25.230.5/index.php  # memcahe.php做对比

# 很慢,因为没有缓存,而且failed比较多    
           
# 说明:10个并发,5000个请求

观察时间和命中率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值