HUST OJ由于明天比赛人数较多,怕影响参赛者的刷新页面速度,因此加个Memcache缓存。一开始yum安装,由于php版本比较高。而默认的二进制版memcache是由低版本编译的,因此就形成 Class ‘Memcache’not found的错误。php
# cd /usr/local/src
# wget https://github.com/websupport-sk/pecl-memcache/archive/php7.zip
# unzip php7.zip
# cd pecl-memcache-php7
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make && make install
在php.ini的最下面添加nginx
[memcache]
extension_dir = "/usr/local/php70/lib/php/extensions/no-debug-non-zts-20151012/"
extension = "memcache.so"
配置Memcached的步骤
首先安装Libevent事件触发管理器。git
# wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar vxf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure -prefix=/usr/local/libevent # ./configure
# make && make install
# yum install libevent-devel
编译安装Memcachegithub
wget http://memcached.org/files/memcached-1.4.25.tar.gz
tar vxf memcached-1.4.25.tar.gz
cd memcached-1.4.25
./configure -with-libevent=/usr/local/libevent # ./configure
# make && make install
启动Memcacheweb
# /usr/local/bin/memcached -d -m 128 -l 127.0.0.1 -p 11211 -u root # (128为内存, 11211为端口,root为用户组)
验证启动:浏览器
ps aux|grep memcached
重启php-fpm ,从新加载nginx缓存
# pkill php-fpm
# /usr/local/php/sbin/php-fpm
# /usr/local/src/nginx/sbin/nginx -s reload
浏览器访问test.php,文件内容,检测是否整合php服务器
<?php $mem = new memcache; $mem->connect('localhost', 11211); $mem->set('key', 'cbam_liangshu!'); $val = $mem->get('key'); echo $val; ?>
安装完成,此时能够经过telnet 链接memcache服务器并 经过stats命令查看Memcache的工做状态。php7