【linux命令】linux redis安装配置以及自写启动脚本
内容摘要
1,安装
wget http://download.redis.io/releases/redis-2.8.3.tar.gz
tar xzf redis-2.8.3.tar.gz
cd redis-2.8.3
make
zmalloc.h:50:31: error: jemalloc/jemalloc.h:
wget http://download.redis.io/releases/redis-2.8.3.tar.gz
tar xzf redis-2.8.3.tar.gz
cd redis-2.8.3
make
zmalloc.h:50:31: error: jemalloc/jemalloc.h:
文章正文
1,安装
wget http://download.redis.io/releases/redis-2.8.3.tar.gz
wget http://download.redis.io/releases/redis-2.8.3.tar.gz
tar xzf redis-2.8.3.tar.gz
cd redis-2.8.3
make
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error “Newer version of jemalloc required”
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/data0/src/redis-2.6.2/src’
make: *** [all] Error 2
zmalloc.h:55:2: error: #error “Newer version of jemalloc required”
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/data0/src/redis-2.6.2/src’
make: *** [all] Error 2
32位机子报错解决
zmalloc.o: In function `zmalloc_used_memory’:
/usr/local/src/redis-2.8.3/src/zmalloc.c:223: undefined reference to `__sync_add_and_fetch_4′
collect2: ld 返回 1
make[1]: *** [redis-server] 错误 1
make[1]: Leaving directory `/usr/local/src/redis-2.8.3/src’
make: *** [all] 错误 2
解决办法:make MALLOC=libc
make后面加一个参数
make CFLAGS=”-march=i686″
如要要安装到其他目录比如/home/redis,则指定路径
make CFLAGS=”-march=i686″ MALLOC=libc PREFIX=/home/redis/ install
make CFLAGS=”-march=i686″ MALLOC=libc PREFIX=/home/redis/ install
2、编译完成后,在./src目录下,有三个可执行文件redis-server、redis-benchmark、redis-cli并将./redis.conf(源文件放置目录)然后拷贝到一个目录下。
mkdir /usr/redis
cp redis-server /usr/redis
cp redis-benchmark /usr/redis
cp redis-cli /usr/redis
cp ../redis.conf /usr/redis
cd /usr/redis
3、启动Redis服务。
redis-server redis.conf
这里注意下,如果是安装了home等目录,将提示命令找不到。原因环境变量没有路径查询。需要使用绝对路径或自己重新赋值一下PATH以及保存全局。
4、然后用客户端测试一下是否启动成功。
redis-cli
redis> set foo bar
OK
redis> get foo
“bar”
———————————————————————————————————
然后自己动手制作一个redis启动脚本方便管理
1、vim /etc/rc.d/init.d/redisd
#!/bin/sh
#chkconfig: 345 86 14
#description: Startup and shutdown script for RedisPROGDIR=/usr/redis
PROGNAME=redis-server
DAEMON=$PROGDIR/$PROGNAME
CONFIG=/usr/redis/redis.conf
PIDFILE=/var/run/redis.pid
DESC=”redis daemon”
SCRIPTNAME=/etc/rc.d/init.d/redisdstart()
{
if test -x $DAEMON
then
echo -e “Starting $DESC: $PROGNAME”
if $DAEMON $CONFIG
then
echo -e “OK”
else
echo -e “failed”
fi
else
echo -e “Could not find Redis Server ($DAEMON)”
fi
}stop()
{
if test -e $PIDFILE
then
echo -e “Stopping $DESC: $PROGNAME”
if kill `cat $PIDFILE`
then
echo -e “OK”
else
echo -e “failed”
fi
else
echo -e “No Redis Server ($DAEMON) running”
fi
}restart()
{
echo -e “Restarting $DESC: $PROGNAME”
stop
start
}list()
{
ps aux | grep $PROGNAME
}case $1 in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
list)
list
;;*)
echo “Usage: $SCRIPTNAME {start|stop|restart|list}” >&2
exit 1
;;
esac
exit 0
#chkconfig: 345 86 14
#description: Startup and shutdown script for RedisPROGDIR=/usr/redis
PROGNAME=redis-server
DAEMON=$PROGDIR/$PROGNAME
CONFIG=/usr/redis/redis.conf
PIDFILE=/var/run/redis.pid
DESC=”redis daemon”
SCRIPTNAME=/etc/rc.d/init.d/redisdstart()
{
if test -x $DAEMON
then
echo -e “Starting $DESC: $PROGNAME”
if $DAEMON $CONFIG
then
echo -e “OK”
else
echo -e “failed”
fi
else
echo -e “Could not find Redis Server ($DAEMON)”
fi
}stop()
{
if test -e $PIDFILE
then
echo -e “Stopping $DESC: $PROGNAME”
if kill `cat $PIDFILE`
then
echo -e “OK”
else
echo -e “failed”
fi
else
echo -e “No Redis Server ($DAEMON) running”
fi
}restart()
{
echo -e “Restarting $DESC: $PROGNAME”
stop
start
}list()
{
ps aux | grep $PROGNAME
}case $1 in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
list)
list
;;*)
echo “Usage: $SCRIPTNAME {start|stop|restart|list}” >&2
exit 1
;;
esac
exit 0
2、增加服务并开机启动
chmod +x /etc/rc.d/init.d/redisd
chkconfig –add redisd
chkconfig redisd on
chkconfig –list redisd
执行该脚本后,就可以开始start|stop|restart|list你的服务了。
验证是否安装成功简单的两种方式:
1,redis-cli 执行,输入命令测试。
2,telnet IP 6379 端口 输入参数测试,测试成功即为可用。
1,redis-cli 执行,输入命令测试。
2,telnet IP 6379 端口 输入参数测试,测试成功即为可用。
提示:
默认的redis.conf文件参数是前台启动的,修改daemonize no为daemonize yes则为后台启动。
关于更多redis配置方面可以参考http://zhou123.blog.51cto.com/4355617/1196415以及 http://blog.csdn.net/huwei2003/article/details/40536905
代码注释
[!--zhushi--]