每个版本Redis安装方式大同小异,这里以Redis4.0.9为例
一,下载redis4.0.9
新建文件夹用于存放redis
>cd /usr/local
>mkdir redis
>cd redis
> wget http://download.redis.io/releases/redis-4.0.9.tar.gz
二,解压并且安装
>tar -zxvf redis-4.0.9.tar.gz (解压)
>cd redis-4.0.9 (进入源码包根目录)
>sudo make (构建)
>sudo make test (构建完成测试,看是否成功,该步骤可能会报错,如下面的问题)
>sudo make install (测试成功安装,安装完后在/usr/local/bin下面)
安装完成后生成的工具
redis-server redis服务器
redis-cli redis命令行客户端
redis-benchmark redis性能测试工具
redis-check-aof AOF文件修复工具
redis-check-rdb RDB文件检索工具
把源码包中的redis.conf文件复制一份到/etc/redis目录下
修改配置文件,如需外网连接把 bind 127.0.0.1注释掉,并且修改requirepass注释打开,设置链接密码xxxxx
三,启动Redis服务
指定配置文件启动
redis-server /etc/redis/redis.conf
开启redis: service redis start
停止redis: service redis stop
重启redis: service redis restart
查看服务状态:service redis status最后将机器关机,重新启动
四,设置redis开机启动
修改redis.conf(/etc/redis下)
#打开后台运行选项 daemonize yes
#设置日志文件路径 logfile “/var/log/redis/redis.log”
编写脚本
vim /etc/init.d/redis
#!/bin/sh # chkconfig: 2345 10 90 # description: Start and Stop redis PATH=/usr/local/bin REDISPORT=6378 EXEC=/usr/local/bin/redis-server REDIS_CLI=/usr/local/bin/redis-cli PIDFILE=/var/run/redis_6378.pid CONF="/etc/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|fore-reload}" exit 1 esac
按qw! 保存退出
添加脚本的执行权限 sudo chmod +x /etc/init.d/redis
设置开机自动启动 sudo update-rc.d redis defaults
五,遇到的问题
1.设置开机自启动可能会报错,如下
insserv: warning: script ‘K01nginx’ missing LSB tags and overrides
insserv: warning: script ‘redis’ missing LSB tags and overrides
insserv: warning: script ‘nginx’ missing LSB tags and overrides
解决方案
在文件头部#!/bin/sh下面添加
#### BEGIN INIT INFO # Provides: OSSEC HIDS # Required-Start: $network $remote_fs $syslog $time # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: OSSEC HIDS ### END INIT INFO
在头部添加后还报错,如
insserv: Script redis is broken: missing end of LSB comment.
insserv: exiting now!
update-rc.d: error: insserv rejected the script header
请检查添加空格是否正常
2.问题You need tcl 8.5 or newer in order to run the Redis test
root@chalktest:/usr/local/redis/redis-4.0.9# sudo make test cd src && make test make[1]: Entering directory '/usr/local/redis/redis-4.0.9/src' You need tcl 8.5 or newer in order to run the Redis test Makefile:242: recipe for target 'test' failed make[1]: *** [test] Error 1 make[1]: Leaving directory '/usr/local/redis/redis-4.0.9/src' Makefile:6: recipe for target 'test' failed make: *** [test] Error 2
安装tcl可解决
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz cd /usr/local/tcl8.6.1/unix/ sudo ./configure sudo make sudo make install
安装完tcl后重新make redis即可