开发者博客:http://www.developsearch.com
准备Memcache安装文件
libevent-2.0.16-stable.tar.gz
memcached-1.4.10.tar.gz
安装libevent
步骤 1 以root用户的身份登录服务器。
步骤 2 执行如下命令,进入目录/usr/memcache下。
cd /usr/memcache
步骤 3 执行如下命令,解压libevent安装包。
tar xvfz libevent-2.0.16-stable.tar.gz
步骤 4 执行如下命令,进入libevent安装包的解压目录。
cd libevent-2.0.16-stable/
步骤 5 依次执行如下命令,安装libevent。
./configure -prefix=/usr/local/libevent
make
make install
/usr/local/libevent为libevent的安装目录。
----结束
安装memcache
步骤 1 以root用户身份登录服务器。
步骤 2 执行如下命令,进入目录/usr/memcache下。
cd /usr/memcache
步骤 3 执行如下命令,解压memcache安装包。
tar xvfz memcached-1.4.10.tar.gz
步骤 4 执行如下命令,进入memcache安装包的解压目录。
cd memcached-1.4.10/
步骤 5 依次执行如下命令,安装memcache。
./configure -prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
make
make install
/usr/local/libevent为libevent的安装目录。/usr/local/memcached为memcache的安装目录。
备注:
在suse下安装memcache,使用make命令的时候会报以下错误
error: array subscript is above array bounds
解决方法:
修改/usr/memcache/memcached-1.4.10/ memcached.c文件中的方法为
inline static void process_stats_detail(conn *c, const char *command) {
assert(c != NULL);
char on[] = "on";
char off[] = "off";
char dump[] = "dump";
if (strcmp(command, on) == 0) {
settings.detail_enabled = 1;
out_string(c, "OK");
}
else if (strcmp(command, off) == 0) {
settings.detail_enabled = 0;
out_string(c, "OK");
}
else if (strcmp(command, dump) == 0) {
int len;
char *stats = stats_prefix_dump(&len);
write_and_free(c, stats, len);
}
else {
out_string(c, "CLIENT_ERROR usage: stats detail on|off|dump");
}
}
----结束
安装验证
步骤 1 以root用户身份登录服务器。
步骤 2 执行如下命令,启动memcache。
/usr/local/memcached/bin/memcached -d -m 100 -u root -l 192.168.10.96 -p 11212 -c 1024 -P /tmp/memcached_11212.pid
/usr/local/memached:memcache的安装目录
-d:启动一个守护进程
-m:分配给memcache使用的内存数量,单位是MB,当前配置为100MB
-u:运行memcache的用户,当前配置为root
-l:监听的服务器IP地址
-p:memcache监听的端口,当前设置为11212
-c:最大运行的并发连接数(默认为1024)
-P:设置保存memcache的进程ID文件
步骤 3 执行如下命令,查看memcache的运行状态。
ps -ef | grep memcached | grep 11212
显示如下信息,如果有memcache的进程ID存在(下面消息中的31464即为memcache的进程ID),则表示memcache运行正常。
root 31464 1 0 17:34 ? 00:00:00 /usr/local/memcached/bin/memcached -d -m 100 -u root -l 192.168.10.96 -p 11212 -c 1024 -P /tmp/memcached_11212.pid
----结束
常用命令
1、启动memcache
/usr/local/memcached/bin/memcached -d -m 100 -u root -l 192.168.10.97 -p 11212 -c 1024 -P /tmp/memcached_11212.pid
2、查找memcache进程
ps -ef | grep memcached | grep 11212
显示如下信息,如果有memcache的进程存在,则表示memcache运行正常。
root 31464 1 0 17:34 ? 00:00:00 /usr/local/memcached/bin/memcached -d -m 100 -u root -l 192.168.10.96 -p 11212 -c 1024 -P /tmp/memcached_11212.pid
3、通过进程号kill掉memcache进程
kill -9 31464