linux-CentOS6.4安装Memcached+memcached扩展+安装memcache扩展+Memcache+mecached同步SESSION的几种方法
一、编译环境的准备
yum install gcc
yum install gcc-c++ libstdc++-devel
yum install zlib-devel
二、源代码包准备
wget http://monkey.org/~provos/libevent-1.4.14b-stable.tar.gz
wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
三、安装与配置
1、安装libevent
tar zxvf libevent-1.4.14b-stable.tar.gz
cd libevent-1.4.14b-stable
./configure --prefix=/usr/local/libevent/
make && make install
ln -s /usr/local/libevent/lib/libevent-1.4.so.2 /lib/libevent-1.4.so.2
2、安装Memcached
tar zxvf memcached-1.4.15.tar.gz
cd memcached-1.4.15
./configure --prefix=/usr/local/memcached/ --with-libevent=/usr/local/libevent/
make && make install
3、启动Memcached
/usr/local/memcached/bin/memcached -d -m 64 -u root -l 127.0.0.100 -p 11211 -c 128 -P /tmp/memcached.pid
4、为了方便管理,写个SHELL脚本。
# http://blog.phpha.com
# 以下内容摘自互联网
vi /etc/rc.d/init.d/memcached
#!/bin/sh
#
# memcached: MemCached Daemon
# chkconfig: - 90 25
# description: MemCached Daemon
# Source function library.
. /etc/rc.d/init.d/functions
. /etc/sysconfig/network
#[ ${NETWORKING} = "no" ] && exit 0
#[ -r /etc/sysconfig/dund ] || exit 0
#. /etc/sysconfig/dund
#[ -z "$DUNDARGS" ] && exit 0
start()
{
echo -n $"Starting memcached: "
daemon $MEMCACHED -u daemon -d -m 64 -l 127.0.0.100 -p 11211 -c 128 -P /tmp/memcached.pid
echo
}
stop()
{
echo -n $"Shutting down memcached: "
killproc memcached
echo
}
MEMCACHED="/usr/local/memcached/bin/memcached"
[ -f $MEMCACHED ] || exit 1
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 3
start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
5、加入Memcached开机启动
cd /etc/rc.d/init.d/
chmod 777 memcached
chkconfig --add memcached
chkconfig --level 235 memcached on
chkconfig --list | grep memcached
6、Memcached使用
service memcached start
service memcached stop
service memcached restart
四、PHP安装Memcache扩展(memcache与memcached扩展二选一就可以。建议安装以下的memcached)
[root~] wget -c http://pecl.php.net/get/memcache-3.0.8.tgz
[root~] tar -zxvf memcache-3.0.8.tgz
[root~] cd memcache-3.0.8
[root~] /usr/local/php/bin/phpize
[root~] ./configure --with-php-config=/usr/local/php/bin/php-config --enable-memcache --with-zlib-dir
[root~] make && make install
/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/memcache.so
[root~] vim /usr/local/php/etc/php.ini
extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/memcache.so
session.save_handler = memcache
session.save_path = "tcp://127.0.0.100:11211"
[root~] service php-fpm reload
php5.5+版本号的memcache扩展安装方法:
由于php5.5+版本号内置了memcache扩展 所以无需下载第三方插件直接 运行例如以下操作就可以
cd /usr/local/php/bin
./pecl install memcache
安装时会提示是否开启session支持,依据须要输入no 或者 yes,安装后路径例如以下:
/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/memcache.so
须要手动配置到php.ini中。添加例如以下内容。即表示启用memcache扩展:
extension=memcache.so
补充:PHP的Memcache扩展的安装后发现一个问题。SESSION会出现丢失,这可能是安装Memcached服务端的时候。防火墙没有加入11211port。改动防火墙规则后,一切正常。
五、PHP memcached 扩展的安装(注意这里是memcached非memcache)
wget https://launchpad.net/libmemcached/1.0/1.0.16/+download/libmemcached-1.0.16.tar.gz
tar -zxvf libmemcached-1.0.16.tar.gz
cd libmemcached-1.0.16
./configure --prefix=/usr/local/libmemcached --with-memcached
make && make install wget http://pecl.php.net/get/memcached-2.2.0.tgz
tar zxvf memcached-2.2.0.tgz
cd memcached-2.2.0
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
vi /usr/local/php/etc/php.ini
加上extension=memcached.so重新启动一下php服务就能够了。假设安装时报错误:
checking for libmemcached location... configure: error: memcached support requires libmemcached. Use --with-libmemcached-dir=<DIR> to specify the prefix
where libmemcached headers and library are located 请使用例如以下方法: php的扩展memcached的安装二 tar zxvf memcached-2.2.0.tgz
cd memcached-2.2.0
/usr/local/php/bin/phpize ./configure --with-memcached --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --enable-memcached make && make install vi /usr/local/php/etc/php.ini 加上extension=memcached.so重新启动php就能够了(摘取天上星)
六、PHP项目分布式使用Memcache同步SESSION的几种方法
1、直接改动php.ini配置文件
session.save_handler = memcache
session.save_path = "tcp://127.0.0.100:11211"
2、利用文件夹下的 .htaccess 文件
php_value session.save_handler "memcache"
php_value session.save_path "tcp://127.0.0.1:11211"
3、项目中改动配置
ini_set("session.save_handler", "memcache");
使用多个 memcached server 时用逗号","隔开,而且和 Memcache::addServer() 文档中说明的一样。
能够带额外的參数"persistent"、"weight"、"timeout"、"retry_interval" 等等,相似这种:"tcp://host1:port1?
persistent=1&weight=2,tcp://host2:port2"
ini_set("session.save_path", "tcp://127.0.0.100:11211");
上面仅仅是一些简单的说明。一般来说做分布式是有server权限的。所以推荐第一种
Memcached存储session的方法是不加“tcp://“前缀的:
假设安装的PECL是memcached(使用libmemcache库的那个)。则配置应为
ini_set("session.save_handler", "memcached"); // 记住是memcached不是memcache
ini_set("session.save_path", "127.0.0.1:11211"); // 不要tcp:
启动 memcached參数说明:
memcached -d -l 127.0.0.1 -p 11212 -m 128
或 启动Memcache的server端:
memcached -d -m 100 -u root -l 192.168.36.200 -p 11211 -c 256 -P /tmp/memcached.pid
# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid
引用
-d选项是启动一个守护进程。
-m是分配给Memcache使用的内存数量。单位是MB。我这里是100MB。
-u是执行Memcache的用户。我这里是root。
-l是监听的serverIP地址。假设有多个地址的话。我这里指定了server的IP地址192.168.36.200。
-p是设置Memcache监听的端口,我这里设置了11211。最好是1024以上的端口,我们这里统一使用11211
-c选项是最大执行的并发连接数。默认是1024,我这里设置了256。依照你server的负载量来设定。
-P是设置保存Memcache的pid文件。我这里是保存在/tmp/memcached.pid,
linux-CentOS6.4安装Memcached+memcached扩展+安装memcache扩展+Memcache+mecached同步SESSION的几种方法的更多相关文章
- Linux CentOS6.4下Mysql数据库的安装与配置
一.mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库,咱 ...
- jenkins 2.204.2 安装, 使用国内源安装, 并且跳过插件界面, 更新成国内插件源.
需要java环境支持,自行百度. jenkins 安装源在国外, 下载会比较慢, 尤其在linux下, 使用yum或者apt install jenkins方式安装时,经常会下载失败. 由于yum或者 ...
- MyEclipse安装插件的三种方法和使用心得
本文讲解MyEclipse(MyEclipse10)的三种方法,以TestNG为例 Eclipse update site URL: http://beust.com/eclipse. 一.通过My ...
- 利用Linux系统生成随机密码的10种方法
Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它.例如,你可以通过数十种方法来生成随机密码.本文将介绍生成随机密码的十种方法. 1. 使用SHA算法来加密日期,并输出结 ...
- 利用Linux系统生成随机密码的10种方法【转】
Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它.例如,你可以通过数十种方法来生成随机密码.本文将介绍生成随机密码的十种方法. 1. 使用SHA算法来加密日期,并输出结 ...
- 利用Linux系统生成随机密码的8种方法
Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它.例如,你可以通过数十种方法来生成随机密码.本文将介绍生成随机密码的十种方法. 1. 使用SHA算法来加密日期,并输出结 ...
- 利用Linux系统生成随机密码的9种方法
Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它.例如,你可以通过数十种方法来生成随机密码.本文将介绍生成随机密码的十种方法. 1. 使用SHA算法来加密日期,并输出结 ...
- linux上安装php7 memcache扩展 和 安装服务端memcached
linux上安装memcached不算太困难.唯一让本人感到困难的是 php7的memcache扩展安装.真的蛋疼! 先说安装服务端 memcached 1. 首先安装Libevent事件触发管理器. ...
- linux下给php安装memcached及memcache扩展(转)
http://kimi.it/257.html (另外的方法)linux安装memcached及memcache扩展一.安装libevent函数库下载地址:http://libevent.org默认被 ...
随机推荐
- JavaScript三(语法、关键保留字及变量)
基本概念 一.区分大小写 在ECMAScript中的一切(变量.函数名.操作符)都是区分大小写的. 如变量名test和Test分别表示两个不同的变量, 二.标识符 所谓标识符,就是指变量.函数.属性的 ...
- 算法笔记_193:历届试题 连号区间数(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R ...
- 关于zookeeper的自我解惑
分布式服务框架 Zookeeper -- 管理分布式环境中的数据: http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/ ...
- 6、javac命令详解
javac [ options ] [ sourcefiles ] [ @files ] 参数可按任意次序排列. options 命令行选项. sourcefiles 一个或多个要编译的源文件(例如 ...
- 彻底抛弃脚本录制,LR脚本之使用web_custom_request函数自定义http请求
初学性能测试时候,第一步必学脚本录制,但一路下来各种录制失败.回放脚本失败的问题层出不穷,究其原因一是LR本身存在对测试环境的兼容性问题导致录制失败,更深层次的原因是录制者不清楚LR录制脚本的原理,或 ...
- Linux下FTP命令的使用方法
FTP> ? 显示 ftp 命令说明.? 与 help 相同. 格式:? [command] 说明:[command]指定需要帮助的命令名称.如果没有指定 command,ftp 将显示全部命令 ...
- selenium2.0关于python的常用函数
转: 新建实例driver = webdriver.Chrome() 1.获取当前页面的Url函数 方法:current_url 实例: driver.current_url 2.获取元素坐标 方法: ...
- sqlserver中将varchar类型转换为int型再进行排序的方法
sql中把varchar类型转换为int型然后进行排序,如果我们数据库的ID设置为varchar型的 在查询的时候order by id的话 如果我们数据库的ID设置为varchar型的 在查询的时候 ...
- debian系在线安装软件apt-get命令族
一.背景 apt-get install/remove在线安装/卸载文件真是方便极了. 但是有时候安装/卸载文件不清楚文件在服务器上的实际命名,例如想安装sndfile.应该执行下面哪个命令呢? ap ...
- eclipse引入的第三方jar包放到同一个目录下
相信大家对这个不陌生吧: 使用eclipse,在JAVA项目中导入第三方jar包,然后看到一长串引入jar包信息,如下图: 看着不美观,也不是非常有必要,能不能像图中JRE System Librar ...