天天看点

php Memcached 分表,memcached(源码包)安装,php(rpm包)-memcache的扩展安装

# 我们开始装memcachetar -zxvf  tar -zxvf libevent-1.4.13-stable.tar.gz

cd libevent-1.4.13-stable

./configure --prefix=/usr

make && make install

# 查看 libevent 是否安装完成

ls -al /usr/lib | grep libevent

tar -zxvf memcached-1.4.17.tar.gz

cd memcached-1.4.17

./configure --with-libevent=/usr

make && make install

# 查看memcache是否安装完成

ls -al /usr/local/bin/mem*

# 启动memcache的服务端

#启动Memcache的服务器端:

/usr/local/bin/memcached -d -m 200 -u www -p 11211 -c 256 -P /tmp/memcached.pid  #(不指定ip)

#参数说明:

#-d选项是启动一个守护进程,

#-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,

#-u是运行Memcache的用户,我这里是root,

#-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址202.207.177.177,

#-p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,

#-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,

#-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,#2.如果要结束Memcache进程,执行:

kill `cat /tmp/memcached.pid`

# 添加防火墙规则

# -I 在前面添加规则# drop目标端口11211端口的所有数据包

iptables -I INPUT -p tcp --dport 11211 -j DROP

# 单独接受特定的ip的当前端口的数据包

iptables -I INPUT -s 192.168.1.112 -p tcp --dport 11211 -j ACCEPT

# 查看启动的端口号

netstat -tanp # 查看所有用户开启的端口

netstat -tunp # 查看当前用户开启的端口

# 安装php-memcache的扩展

tar -zxvf memcache-2.2.4.tgz

cd memcache-2.2.4

phpize # 如果没有找到phpize命令则 yum -y install php-devel

./configure --with-php-config=/usr/bin/php-config --enable-memcache  #  error: memcache support requires ZLIB. Use --with-zlib-dir=

make

make test

## 查看是否可以在扩展目录下找到 memcache.so

ls /usr/lib64/php/modules/  # 如果找不到则直接复制一个过去 cp modules/memcache.so /usr/lib64/php/modules/

### 如果可以找到则重新加载php配置文件进行测试

service httpd reload

### 测试memcache的功能是否正常

# 新建index.php文件测试看php是否支持memcache<?php

ini_set('display_errors',1);

error_reporting(7);

$mem = new Memcache;

$mem->connect('192.168.1.112',11211);

$mem->set('test','Hello world!',0,12);

$val = $mem->get('test');

echo $val;

var_dump($val);

# 如果页面中输出Hello world!string(12) "Hello world!"  则说明此时php已经支持memcache模块## /etc/rc.d/rc.local 中加入memcache的启动命令确保memcache在开机时自动启动

vi /etc/rc.d/rc.local

# memcache 启动

/usr/local/bin/memcached -d -m 200 -u www -p 11211 -c 256 -P /tmp/memcached.pid