安装环境:
CentOS 6.5
Redis 3.0.7
下载安装:
下载文件到 /usr/local 目录下
wget http://download.redis.io/releases/redis-3.0.7.tar.gz
解压文件
tar zxvf redis-3.0.7.tar.gz
切换目录到 redis-3.0.7 目录下
cd redis-3.0.7
执行make前需要安装gcc,用yum install gcc。
如果执行make后报error: jemalloc/jemalloc.h: No such file or directory解决方法,用make MALLOC=libc命令
执行make命令,最后几行的输出结果
Hint: To run ‘make test’ is a good idea ;)
make[1]: Leaving directory `/opt/redis-3.0.7/src’
执行安装命令
make install
提示:
cd src && make install
make[1]: Entering directory `/opt/redis-3.0.7/src'
Hint: To run 'make test' is a good idea ;)
INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install
make[1]: Leaving directory `/opt/redis-3.0.7/src'
根据提示,执行:cd src && make install
提示:
Hint: To run 'make test' is a good idea ;)
INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL instal
按照提示执行:make test
提示:
You need tcl 8.5 or newer in order to run the Redis test
make: *** [test] Error 1
解决方法参考:http://www.linuxfromscratch.org/blfs/view/cvs/general/tcl.html
也可以使用:yum install tcl 命令安装
后来经搜索发现不需要安装,直接到/usr/local/bin目录下执行 ./redis-server 就可以
安装完成后,各命令的默认位置如下:
/usr/local/bin/redis-server
/usr/local/bin/redis-cli
/usr/local/redis-3.0.7/redis.conf
可以使用/usr/local/bin/redis-server /usr/local/redis-3.0.7/redis.conf 命令指定配置文件启动服务;
Server started, Redis version 3.0.7
The server is now ready to accept connections on port 6379
服务启动成功,服务已经在6379端口上监听连接请求。
你可以使用内置的客户端连接Redis:http://www.redis.cn/download.html
/usr/local/bin目录下执行redis-cli命令,即可对redis进行操作:
$ /usr/local/bin/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
注意事项:
要远程访问它,还需要开启防火墙。
不要使用Ctrl+C,这样会使程序退出(直接把当前命令窗口关闭,重新打开一个命令窗口或者通过下面命令修改redis.conf文件)。
vi redis.conf
使用如下命令查看运行中的redis
ps -eaf|grep redis
关闭redis服务命令如下:
/usr/local/bin/redis-cli -h 127.0.0.1 -p 6379 shutdown
设置密码,以提供远程登陆
vi redis.conf
找到
requirepass
写上
requirepass yourpassword
设置密码以后发现可以登陆,但是无法执行命令了。
redis-cli
keys *
(error) ERR operation not permitted
授权命令
auth yourpassword
发现就可以执行命令了
还有一种方式,是在登录的时候直接指定密码
redis-cli -h 127.0.0.1 -a yourpassword
设置密码后,如果要关闭redis服务,就需要加上密码
/usr/local/bin/redis-cli -h 127.0.0.1 -p 6379 -a yourpassword shutdown
由于redis并发能力极强,仅仅搞密码,攻击者可能在短期内发送大量猜密码的请求,很容易暴力破解,所以建议密码越长越好,比如20位。(密码在 conf文件里是明文,所以不用担心自己会忘记)
配置redis开机启动
编写启动shell:vim /etc/init.d/redis(copy网上的)
# chkconfig: 2345 10 90
# description: Start and Stop redis
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT=6379 #实际环境而定
EXEC=/usr/local/redis/src/redis-server #实际环境而定
REDIS_CLI=/usr/local/redis/src/redis-cli #实际环境而定
PIDFILE=/var/run/redis.pid
CONF="/usr/local/redis/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 exists, 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
exitxit 1
esac
赋予权限chmod +x /etc/init.d/redis
设置开机启动:
# 尝试启动或停止redis
service redis start
#没有设置密码的关闭方式
service redis stop
#设置了密码的关闭方式
/usr/local/bin/redis-cli -h 127.0.0.1 -p 6379 -a yourpassword shutdown
# 开启服务自启动
chkconfig redis on
搞定……