centos6.5 memcached and php-memcached安装

今天要处理一堆数据,第一次从数据库取出来最少的几千,最多的几十万,不可能每次去数据库取。第一次取出成功后,由于本地windows 没有memcached环境,只好先临时保存到一个文件中,用 array_slice 分段读取数据执行。可这每次读取文件也麻烦啊。几十万的数组保存出来小的也是几十KB 大的好几M。SO,那就在虚拟机环境里弄个memcached吧。所有的环境安装我喜欢编译安装 不喜欢yum  apt-get 等方式安装。注本环境是已经装好了PHP的,我装的是PHP5.6 其实弄完了,早知道应该去装redis的,至少可以处理我几十万数组的交集差集。memcached并没有那么灵活。

准备前的事
yum -y install gcc 
yum -y install gcc-c++ 

然后下载安装 libevent 

官网:http://libevent.org/

wget https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-x.x.xx-stable.tar.gz
tar -zxvf libevent-x.0.xx-stable.tar.gz
cd libevent-x.x.xx-stable
./configure --prefix=/usr/local/libevent/
make && make install
安装memcached

官网网址: http://memcached.org/downloads

官网安装说的很明白了 官方安装代码

wget http://memcached.org/latest
tar -zxvf memcached-1.x.x.tar.gz
cd memcached-1.x.x
./configure && make && make test && sudo make install

但是为了方便管理 我还是喜欢安装在我指定的地方的。

我喜欢把下载下的文件放在 /var/local/download/目录下 下载到什么地方,你们喜欢自己定。

wget http://memcached.org/latest
tar -zxvf memcached-1.x.x.tar.gz
cd memcached-1.x.x
./configure --prefix=/webService/memcached --with-libevent=/usr/local/libevent
make -j2
make install

到此我们暂时安装完了memcached.

安装 LIBMEMCACHED

下载地址:https://launchpad.net/libmemcached/+download

wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
tar -zxvf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18
./configure --prefix=/usr/local/libmemcached --with-memcached=/webService/memcached/
make -j2 
make install

libmemcached 必须安装如果不安装就会出现下面这个情况

安装PHP-MEMCACHED

下载地址:http://pecl.php.net/package/memcached 

http://pecl.php.net/get/memcached-2.2.0.tgz
tar -zxvf memcached-2.2.0.tgz
cd memcached-2.2.0
phpize
./configure --enable-memcached --with-php-config=/webService/php5.6/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl
make -j2
make install

安装完成后你将得到一个目录提示

[root@localhost memcached-2.2.0]#  make install
Installing shared extensions:     /webService/php5.6/lib/php/extensions/no-debug-zts-20131226/

然后进入这个目录你装发现多了 memcached.so

cd /webService/php5.6/lib/php/extensions/no-debug-zts-20131226/
ls
memcached.so  opcache.so  scws.so  sphinx.so  swoole.so

然后编辑php.ini

vim /webService/php5.6/etc/php.ini
#我的php ini 是我指定到这个目录的,你可以根据你的地址来编辑 打印phpinfo()你就能找到你的配置文件地址的
[memcached]
extension=memcached.so
#加入上面两行

最终结果

永川优生活 http://www.yongchuan.cc

重启服务

service httpd restart

重启完后打印phpinfo 你将看到 memcached 已经安装好了。或者

php -m | grep memcached
#你将看到
memcached

永川优生活 https://www.yongchaun.cc

启动MEMCACHED
/webService/memcached/bin/memcached -d -u www -p 11211 -P /tmp/memcached.pid

如果你机器上没有安装telnet的话查看监控不太方便的

yum install telnet-server 
yum install telnet 
#两条命令下去全Y
然后编辑vi /etc/xinetd.d/telnet 文件
vim /etc/xinetd.d/telnt
#找到disable 查看它是否是no 如果是no 的话要把它改为yes

启动 telnet

service xinetd start

测试连接

telnet 127.0.0.1 11211
#再次输入stats
stats
STAT pid 32365 #这个就是启动的进程啦

或者这样也可以查看进程

ps -aux | grep memcached
结束进程
kill -9 进程ID
防火墙配置

如果Memcache和Web服务器不是同一台服务器,那么或许还需要配置iptables 登录Memcache服务器,并取得root权限

vim /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -p tcp -s Web服务器1的IP地址 –dport 11211 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -s Web服务器2的IP地址 –dport 11211 -j ACCEPT

关于PHP memcached用法 自行参考:http://php.net/manual/zh/book.memcached.php

memcached 手册: http://www.yiibai.com/memcached/

转载于:https://my.oschina.net/u/1379544/blog/757911

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值