linux安装memcached
‘壹’ linux php7 安装 memcached 改哪个配置文件
1、php7安装Memcached扩展
比如说我现在使用了最新的 Ubuntu 16.04,虽然内置了 PHP 7 源,但 memcached 就还没有,不过好在,它已经支持了 PHP 7 ,只是没有源而已,我们手动编译它。
要安装 memcached,需要先安装依赖库 libmemcached
从 这里 找到最新的 libmemcached 源码包,然后下载。
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
tar -zxf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18/
./configure
make && make install
安装好依赖库之后,我们来安装 memcached :
从 github 克隆 memcached 后,需要手动切换到 php7 分支,不然会提示 fatal error : ext / standard / php_smart_str . h : No such file or directory 错误。
git clone https://github.com/php-memcached-dev/php-memcached
‘贰’ Linux里面怎么部署Memcache
直接安装即可
比如centos 7 yum install memcacahed
希望可以帮助你,请采纳,谢谢
‘叁’ Memcached
Memcached报错:CLIENT_ERROR bad data chunk
这是因为存储的字节长度与指定的长度不匹配造成的,如:
set username 0 0 2
你是打算存储两个字节,但如果你输入不等于2个字节就会报
CLIENT_ERROR bad data chunk
错误,注意必须是2个,多于或少于2个字节都会报这个错误。
Ubuntu
sudo apt-get install memcached
sudo service memcached status/stop/start/restart
Linux下设置memcached访问IP
vim /etc/memcached.conf
注释掉-l 127.0.0.1
sudo service memcached restart
一、安装gcc
由于memcached和libevent是由C编写的,所以首先确保你的系统安装了gcc,如果没有安装,使用yum安装即可
$ yum -y install gcc
$ yum -y install gcc-c++
$ gcc --version
二、安装libevent
wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
$ tar -xzf libevent-2.0.21-stable.tar.gz
$ cd libevent-2.0.21-stable
$ ./configure --prefix=/usr
$ make
$ make install
安装完后可以查看下/usr/lib是否有libevent等文件(ls -al /usr/lib | grep libevent)
#如果时间不对,需要修改系统时间
三、安装memcached
wget http://memcached.org/files/memcached-1.4.21.tar.gz
$ tar xzvf memcached-1.4.15.tar.gz
$ cd memcached-1.4.15
$ ./configure --with-libevent=/usr
$ make
$ make install
安装结果(ls -al /usr/local/bin/memcached)
四、启动memcached
memcached -d -m 512 -p 11211 -u root -c 256 -P /var/run/memcached.pid
五、关闭防火墙11211端口
$ vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -j ACCEPT
$ service iptables restart
六、telnet访问
然后就可以使用telnet,来测试memcache的连接状态,如果没有安装telnet服务,可以执行
$ yum install telnet-server #安装服务
$ yum install telnet #安装命令
然后编辑vi /etc/xinetd.d/telnet文件,激活telnet,默认是禁用的,默认为yes,需要改成no
disable = no
然后重启服务,执行命令
$ service xinetd restart
然后就可以测试memcached的连接,执行命令
$ telnet 127.0.0.1 11211
输入stats,会输出memcache的一些连接信息,包括PID
如果需要退出,则执行quit命令即可
‘肆’ 如何在Linux下安装Memcached
在Linux下安装Memcached方法:
到官网下载安装文件。
在命令行输入:kill `cat /tmp/memcached.pid`可结束掉服务。
‘伍’ linux里面怎么安装memcached和session
1.由于memcached依赖于libevent,因此需要安装libevent。由于linux系统可能默认已经安装libevent,执行命令: rpm -qa|grep libevent 查看系统是否带有该安装软件,如果有执行命令: rpm -e libevent-1.4.13-4.el6.x86_64 --nodeps(由于系统自带...
‘陆’ linux 怎样 查看memcached是否安装成功
一、使用memcache top脚本
memcache-top 是一个用 Perl 编写的命令行小工具,用来实时的获取 memcached 缓存服务器的详细信息,例如缓存命中率等。到官网下载脚本,放到用户目录,直接运行即可。
/home/nihaoya/memcache-top
INSTANCE USAGE HIT % CONN TIME EVICT/s READ/s WRITE/s
10.50.11.5:11211 88.8% 69.6% 1123 1.9ms 0.3 13.1K 36.2K
10.50.11.5:11212 88.7% 69.6% 1175 0.6ms 0.3 12.4K 28.1K
10.50.11.5:11213 88.8% 69.4% 1148 0.7ms 0.0 16.6K 32.1K
10.50.12.5:11211 89.3% 81.5% 1460 0.7ms 0.3 17.7K 204.0K
10.50.12.5:11212 89.4% 69.3% 1174 0.6ms 1.0 28.9K 63.5K
10.50.12.5:11213 89.3% 69.4% 1158 0.7ms 0.7 166.3K 194.4K
10.50.15.5:11211 89.3% 71.8% 1472 0.8ms 0.0 37.3K 59.2K
10.50.15.5:11212 89.4% 69.3% 1143 0.7ms 0.7 44.9K 35.4K
10.50.15.5:11213 89.3% 84.5% 1371 0.7ms 0.7 49.0K 187.2K
10.50.9.90:11211 30.2% 76.3% 259 0.7ms 0.0 243 999
10.50.9.90:11212 19.2% 60.3% 261 0.7ms 0.0 40 801
10.50.9.90:11213 17.5% 16.9% 235 0.6ms 0.0 70 600
AVERAGE: 72.4% 67.3% 998 0.8ms 0.3 32.2K 70.2K
TOTAL: 23.4GB 11.7K 9.2ms 4.0 386.4K 842.3K
二、使用telnet方式,只能查看某个节点的
[nihaoya@SHANGH-39-DX-APP ~]# telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
stats
STAT pid 22362 //memcache服务器的进程ID www.2cto.com
STAT uptime 1469315 //服务器已经运行的秒数
STAT time 1339671194 //服务器当前的unix时间戳
STAT version 1.4.9 //memcache版本
STAT libevent 1.4.9-stable //libevent版本
STAT pointer_size 64 //当前操作系统的指针大小(32位系统一般是32bit,64就是64位操作系统)
STAT rusage_user 3695.485200 //进程的累计用户时间
STAT rusage_system 14751.273465 //进程的累计系统时间
STAT curr_connections 69 //服务器当前存储的items数量
STAT total_connections 855430 //从服务器启动以后存储的items总数量
STAT connection_structures 74 //服务器分配的连接构造数
STAT reserved_fds 20 //
STAT cmd_get 328806688 //get命令(获取)总请求次数
STAT cmd_set 75441133 //set命令(保存)总请求次数 www.2cto.com
STAT cmd_flush 34 //flush命令请求次数
STAT cmd_touch 0 //touch命令请求次数
STAT get_hits 253547177 //总命中次数
STAT get_misses 75259511 //总未命中次数
STAT delete_misses 4 //delete命令未命中次数
STAT delete_hits 565730 //delete命令命中次数
STAT incr_misses 0 //incr命令未命中次数
STAT incr_hits 0 //incr命令命中次数
STAT decr_misses 0 //decr命令未命中次数
STAT decr_hits 0 //decr命令命中次数
STAT cas_misses 0 //cas命令未命中次数
STAT cas_hits 0 //cas命令命中次数
STAT cas_badval 0 //使用擦拭次数
STAT touch_hits 0 //touch命令未命中次数
STAT touch_misses 0 //touch命令命中次数
STAT auth_cmds 0 //认证命令处理的次数
STAT auth_errors 0 //认证失败数目
STAT bytes_read 545701515844 //总读取字节数(请求字节数)
STAT bytes_written 1649639749866 //总发送字节数(结果字节数)
STAT limit_maxbytes 2147483648 //分配给memcache的内存大小(字节)
STAT accepting_conns 1 //服务器是否达到过最大连接(0/1)
STAT listen_disabled_num 0 //失效的监听数
STAT threads 4 //当前线程数
STAT conn_yields 14 //连接操作主动放弃数目
STAT hash_power_level 16 //
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT expired_unfetched 30705763
STAT evicted_unfetched 0
STAT bytes 61380700 //当前存储占用的字节数
STAT curr_items 28786 //当前存储的数据总数
STAT total_items 75441133 //启动以来存储的数据总数
STAT evictions 0 //为获取空闲内存而删除的items数(分配给memcache的空间用满后需要删除旧的items来得到空间分配给新的items)
STAT reclaimed 39957976 //已过期的数据条目来存储新数据的数目
END
退出:quit或者ctrl + ] 然后在按q就行了。
安装telenet方法
1、yum install telnet-server 服务端
2、yum install telnet 客户端
3、vi /etc/xinetd.d/telnet
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = yes
}
将disable项由yes改成no。
4、/etc/init.d/xinetd restart
其他方式:
前项目中,linux下memcached的启动/结束的方式
默认情况下memcached安装到/usr/local/bin下。
进入安装目录,启动memcached:/usr/local/memcached/bin/memcached -d -c 10240 -m 1024 -u root
获取运行状态:echo stats | nc localhost 11211(可以查看出pid) 或使用ps -ef|grep memcached
停止memcached:kill -9 pid (-9表示强制杀死,pid 为进程的进程标识符)
-d 选项是启动一个守护进程,
-m 是分配给Memcache使用的内存数量,单位是MB,这里是1024MB,默认是64MB
-u 是运行Memcache的用户,这里是root
-l 是监听的服务器IP地址,默认应该是本机
-p 是设置Memcache监听的端口,默认是11211,最好是1024以上的端口
-c 选项是最大运行的并发连接数,默认是1024,这里设置了10240,按照你服务器的负载量来设定
-P 是设置保存Memcache的pid文件位置
-h 打印帮助信息
-v 输出警告和错误信息
-vv 打印客户端的请求和返回信息
ps -ef|grep memcached(命令说明)
grep:功能说明:查找文件里符合条件的字符串。
|:管道命令操作符
ps(process status):功能说明:报告程序状况。
连接到 memcached:
telnet ip 端口,如telnet 192.168.100.11 11211
stats查看状态,flush_all:清楚缓存
查看memcached状态的基本命令,通过这个命令可以看到如下信息:
STAT pid 22459 进程ID
STAT uptime 1027046 服务器运行秒数
STAT time 1273043062 服务器当前unix时间戳
STAT version 1.4.4 服务器版本
STAT pointer_size 64 操作系统字大小(这台服务器是64位的)
STAT rusage_user 0.040000 进程累计用户时间
STAT rusage_system 0.260000 进程累计系统时间
STAT curr_connections 10 当前打开连接数
STAT total_connections 82 曾打开的连接总数
STAT connection_structures 13 服务器分配的连接结构数
STAT cmd_get 54 执行get命令总数
STAT cmd_set 34 执行set命令总数
STAT cmd_flush 3 指向flush_all命令总数
STAT get_hits 9 get命中次数
STAT get_misses 45 get未命中次数
STAT delete_misses 5 delete未命中次数
STAT delete_hits 1 delete命中次数
STAT incr_misses 0 incr未命中次数
STAT incr_hits 0 incr命中次数
STAT decr_misses 0 decr未命中次数
STAT decr_hits 0 decr命中次数
STAT cas_misses 0 cas未命中次数
STAT cas_hits 0 cas命中次数
STAT cas_badval 0 使用擦拭次数
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 15785 读取字节总数
STAT bytes_written 15222 写入字节总数
STAT limit_maxbytes 1048576 分配的内存数(字节)
STAT accepting_conns 1 目前接受的链接数
STAT listen_disabled_num 0
STAT threads 4 线程数
STAT conn_yields 0
STAT bytes 0 存储item字节数
STAT curr_items 0 item个数
STAT total_items 34 item总数
STAT evictions 0 为获取空间删除item的总数
另外一个例子:
启动/结束
memcached -d -m 10 -u root -l 192.168.0.122 -p 11200 -c 256 -P /tmp/memcached.pid
-d 选项是启动一个守护进程,
-m 是分配给Memcache使用的内存数量,单位是MB,这里是10MB
-u 是运行Memcache的用户,这里是root
-l 是监听的服务器IP地址,如果有多个地址的话,这里指定了服务器的IP地址192.168.0.122
-p 是设置Memcache监听的端口,这里设置了12000,最好是1024以上的端口
-c 选项是最大运行的并发连接数,默认是1024,这里设置了256,按照你服务器的负载量来设定
-P 是设置保存Memcache的pid文件
kill `cat /tmp/memcached.pid`
获取运行状态
echo stats | nc 192.168.1.123 11200
watch "echo stats | nc 192.168.1.123 11200" (实时状态)
‘柒’ linux怎么查看memcached安装目录
1.由于memcached依赖于libevent,因此需要安装libevent。由于linux系统可能默认已经安装libevent,执行命令:
rpm
-qagrep
libevent
查看系统是否带有该安装软件,如果有执行命令:
rpm
-e
libevent-1.4.13-4.el6.x86_64
--nodeps(由于系统自带的版本旧,忽略依赖删除)
3.
安装libevent命令:
tar
zxvf
libevent-2.0.21-stable.tar.gz
cd
libevent-2.0.21-stable
./configure
--prefix=/usr/local/libevent
make
make
install
至此libevent安装完毕;
安装过程中出现:configure:
error
:
no
acceptable
C
compiler
found
in
$PATH错误时是没有安装gcc,运行如下命令:
yum
install
gcc*
make*
4.
安装memcached命令:
tar
zxvf
memcached-1.4.2.tar.gz
cd
memcached-memcached-1.4.2
./configure
--prefix=/usr/local/memcached
--with-libevent=
/usr/local/libevent/
make
make
install
至此memcached安装完毕;
5.当启动memcached时经常不能发现libevent.so;可以通过以下命令检查:
进入/usr/local/memcached/bin目录
LD_DEBUG=help
./memcached
-v
LD_DEBUG=libs
./
memcached。
‘捌’ Linux下Memcached的安装步骤是什么呢
一、检查libevent
首先检查系统中是否安装了libevent
Shell代码
rpm -qa|grep libevent
如果安装了则查看libevent的安装路径,后续安装时需要用到
Shell代码
rpm -ql libevent
如果没有安装,则先安装libevent
安装libevent:
1.首先下载libevent安装包
Shell代码
wget http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gz
2.解压缩安装包
Shell代码
tar zxvf libevent-1.4.12-stable.tar.gz -C /usr/local/
3.进入解压后的目录
Shell代码
cd libevent-1.4.12-stable/
4.配置编译、安装
Shell代码
./configure -prefix=/usr/libevent
make
make install
安装完libevent之后为了让动态链接库为系统所共享,需要执行以下动态链接库的管理命令ldconfig
不过在执行ldconfig命令之前需要注意以下libevent的安装目录。具体参见:http://chenzhou123520.iteye.com/blog/1925196
安装完libevent后正式开始安装memcached
1.首先是下载memcached的安装包
Shell代码
wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
2.修改安装包的执行操作权限
Shell代码
chmod 777 memcached-1.4.15.tar.gz
3.解压安装包到指定目录
Shell代码
tar zxvf memcached-1.4.15.tar.gz -C /usr/local
4.进入解压后的目录
Shell代码
cd /usr/local/memcached-1.4.15/
5.配置、编译、安装
注:configure时需要指定libevent的安装路径
Shell代码
./configure -with-libevent=/usr/libevent/ -prefix=/usr/local/memcached
make
make install
6.安装成功后启动一下看安装是否成功
Shell代码
/usr/local/memcached/bin/memcached -d -m 10m -p 11211 -u root
启动参数介绍如下:和上面的命令不对应
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,这里是10MB,
-u是运行Memcache的用户,这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,这里指定了服务器的IP地址192.168.0.200,
-p是设置Memcache监听的端口,这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,这里设置了256,按照服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,也可以启动多个守护进程,不过端口不能重复。
如果要给memcached上配置日志,参见:http://chenzhou123520.iteye.com/blog/1925209
PS:附上一个memcached启动的shell脚本
Shell代码
#!/bin/sh
echo "Start to start memcached server $(date)..."
MEMCACHED=/usr/local/memcached/bin/memcached
usage()
{
echo "usage: `basename $0` port"
}
if [ -n "$1" ]
then
{
pid=`ps aux|grep memcached|grep "$1" |grep -v grep|awk '{print $2}'`
if [ -n "$pid" ]
then
{
sleep 2
echo "kill memcached which port is $1 begin"
echo "pid:$pid"
kill -9 $pid
echo "kill memcached which port is $1 end"
sleep 2
}
fi
echo "begin to start memcached in port $1"
LOG_FILE=/var/log/memcached/memcached_$1.log
rm -f $LOG_FILE
$MEMCACHED -d -m 2048 -p $1 -u root -vv >> $LOG_FILE 2>&1
echo "start memcached end"
tail -f $LOG_FILE
}
else
{
usage
exit 1
}
fi
把该脚本命名为startup.sh
执行:./startup.sh 11211
其中11211为memcached的启动端口,也可以通过自定义的端口来启动
查看是否启动:ps aux|grep memcached
查看版本 :
cd /etc/init.d/
memcached -h
或者:
[nihaoya@SHANGH-39-DX-APP ~]# telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
stats