Linux安装Redis

转:http://blog.csdn.net/edisonyuan/article/details/52175541

这篇比较友好:https://www.cnblogs.com/wangchunniu1314/p/6339416.html

一,Redis安装
1,下载Redis
wget http://download.redis.io/redis-stable.tar.gz
2,解压
tar xzf redis-stable.tar.gz
3,进入压缩后目录
cd redis-stable
4,安装
make
make install
5,测试
make test
若提示:you need tcl 8.5 or newerin order to run the redis test,执行yum install tcl
6,再次测试,OK
二,Redis配置
1,进入目录redis-stable,复制配置文件到/etc目录下
cp redis.conf /etc
2,建立用户与日志目录
sudo useradd redis
sudo mkdir -p /var/lib/redis
sudo mkdir -p /var/log/redis
sudo chown redis.redis /var/lib/redis
sudo chown redis.redis /var/log/redis
3,修改配置文件
vi /etc/redis.conf
修改以下内容:

默认只能在本机访问,现改为所有IP均可访问

bind 127.0.0.1 改为 bind 0.0.0.0

修改启动模式为后台启动

daemonize no 改为 daemonize yes

修改数据文件存储位置

dir ./ 改为 dir /var/lib/redis

4,配置init脚本
vi /etc/init.d/redis

将以下部分粘贴到脚本中:

chkconfig: 2345 90 10

description: Redis is a persistent key-value database

###########################
PATH=/usr/local/bin:/sbin:/usr/bin:/bin

REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli

PIDFILE=/var/run/redis_$REDISPORT.pid
CONF="/etc/redis.conf"

case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $CONF
fi
if [ "$?"="0" ]
then
echo "Redis is running..."
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$REDIS_CLI -p $REDISPORT SHUTDOWN
while [ -x ${PIDFILE} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
restart|force-reload)
${0} stop
${0} start
;;
*)
echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
exit 1
esac
##############################
5,添加执行权限
chmod +x /etc/init.d/redis
6,设定开机启动
sudo chkconfig redis on
7,启动与停止redis
service redis start
service redis stop
8,测试redis
通过redis-cli向redis发送命令,有两种方式,一种指定服务器地址和端口号,一种不指定,默认本机IP和端口
进入redis-stable所在目录下的src目录,
指定服务器地址和端口号:输入命令 ./redis-cli -h127.0.0.1 -p 6379
不指定服务器地址和端口:输入命令 ./redis-cli
均出现:
[root@VM_93_121_centos src]# ./redis-cli
127.0.0.1:6379> set key 123
OK
127.0.0.1:6379> get
(error) ERR wrong number of arguments for 'get' command
127.0.0.1:6379> get key
"123"
127.0.0.1:6379> exit
通过简单测试,成功安装并配置redis。

常见问题:

Redis服务器设置密码后,使用service redis stop 会出现以下信息:

service redis stop
Stopping ...
OK
(error) NOAUTH Authentication required.
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...

出现这样的错误信息,redis 这时是没有停止服务的。
可以使用ps -ef | grep redis 查进程号 然后kill 掉,如果在deamon下还需要去删除pid文件,有点繁琐。

解决办法:

用redis-cli 密码登陆(redis-cli -a password)就OK了。

再用ps -ef | grep redis 可以看到redis进程已经正常退出。

修改redis服务脚本,加入如下所示的红色授权信息即可:

vi /etc/init.d/redis
$CLIEXEC -a "password" -p $REDISPORT shutdown

你可能感兴趣的:(Linux安装Redis)