CentOS 6.3 安装配置 Redis-4.0.2

一、CentOS 7.0系统下的设置方法

本文详细介绍Redis单机单实例安装与配置,服务及开机自启动。

Redis官网

假设Redis已经安装,版本3.2.4

(以下配置基于CentOS release 6.5 Final, redis版本3.0.2
[redis版本号中间位是偶数的是稳定版,奇数的为非稳定版])

进入/usr/local/src目录,使用wget下载
[root@iZ2864f6btwZ ~]# cd /usr/local/src/
[root@iZ2864f6btwZ src]# wget http://download.redis.io/releases/redis-4.0.2.tar.gz
#cd redis-3.2.4#mkdir /etc/redis#cp redis.conf /etc/redis/6379.conf#cp utils/redis_init_script /etc/init.d/redis#chmod a+x /etc/init.d/redis#cp src/redis-server /usr/local/bin/#cp src/redis-cli /usr/local/bin/#vim /etc/init.d/redis

一.安装redis

解压 redis-4.0.2.tar.gz 并进入 redis-4.0.2 目录
[root@iZ2864f6btwZ src]# tar zxvf redis-4.0.2.tar.gz && cd redis-4.0.2

在脚本文件添加 #chkconfig: 2345 80 90

1)下载redis安装包

编译安装
[root@iZ2864f6btwZ redis-4.0.2]# make

Make生成的文件

否则会出现 “redis服务不支持chkconfig”的错误提示

可去官网http://redis.io ,也可通过wget命令,

测试 ( 选做步骤 )
[root@iZ2864f6btwZ redis-4.0.2]# make test

make test 结果

错误:
tcl 版本过低

cd src && make test
make[1]: Entering directory `/usr/local/src/redis-4.0.2/src'
   CC Makefile.dep
make[1]: Leaving directory `/usr/local/src/redis-4.0.2/src'
make[1]: Entering directory `/usr/local/src/redis-4.0.2/src'
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] Error 1
make[1]: Leaving directory `/usr/local/src/redis-4.0.2/src'
make: *** [test] Error 2

解决:
安装 ctl 8.5 或更高版本

[root@iZ2864f6btwZ redis-4.0.2]# yum -y install tcl
#!/bin/sh#chkconfig: 2345 80 90# Simple Redis init.d script conceived to work on Linux systems# as it does use of the /proc filesystem.REDISPORT=6379EXEC=/usr/local/bin/redis-serverCLIEXEC=/usr/local/bin/redis-cliPIDFILE=/var/run/redis_${REDISPORT}.pidCONF="/etc/redis/${REDISPORT}.conf"case "$1" instart)if [ -f $PIDFILE ]thenecho "$PIDFILE exists, process is already running or crashed"elseecho "Starting Redis server..."$EXEC $CONFfi;;stop)if [ ! -f $PIDFILE ]thenecho "$PIDFILE does not exist, process is not running"elsePID=$(cat $PIDFILE)echo "Stopping ..."$CLIEXEC -p $REDISPORT shutdownwhile [ -x /proc/${PID} ]doecho "Waiting for Redis to shutdown ..."sleep 1doneecho "Redis stopped"fi;;*)echo "Please use start or stop as first argument";;esac
wget http://download.redis.io/redis-stable.tar.gz
上述步骤 make 已经生成了redis-benchmarkredis-check-aofredis-check-rdbredis-cliredis-sentinelredis-serverredis-trib.rb等文件,为了方便管理,我习惯将这些文件拷贝到/usr/local/redis目录,然后再将此路径加入环境变量,当然你也可以手动将这些文件拷贝到/usr/local/bin目录,或者执行make install进行安装
[root@iZ2864f6btwZ redis-4.0.2]# mkdir /usr/local/redis
[root@iZ2864f6btwZ redis-4.0.2]# cd src
[root@iZ2864f6btwZ src]# cp redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server /usr/local/redis/
[root@iZ2864f6btwZ src]# 
[root@iZ2864f6btwZ src]# ll !$
ll /usr/local/redis/
total 27376
-rwxr-xr-x 1 root root 2450936 Sep 26 15:22 redis-benchmark
-rwxr-xr-x 1 root root 5742456 Sep 26 15:22 redis-check-aof
-rwxr-xr-x 1 root root 5742456 Sep 26 15:22 redis-check-rdb
-rwxr-xr-x 1 root root 2605224 Sep 26 15:22 redis-cli
-rwxr-xr-x 1 root root 5742456 Sep 26 15:22 redis-sentinel
-rwxr-xr-x 1 root root 5742456 Sep 26 15:22 redis-server
[root@iZ2864f6btwZ src]# 

注意:
!$是指上一次最后使用的路径

注册事件,开机启动

澳门金沙vip 1

/usr/local/redis目录加入环境变量
[root@iZ2864f6btwZ src]# vim /etc/profile.d/redis.sh
...
# redis.sh 的内容
export PATH=$PATH:/usr/local/redis/
...
[root@iZ2864f6btwZ src]# 
[root@iZ2864f6btwZ src]# source !$
source /etc/profile.d/redis.sh
[root@iZ2864f6btwZ src]# 
#chkconfig redis on

2)解压

查看 redis 版本信息,请确保/usr/local/redis在环境变量中
[root@iZ2864f6btwZ src]# cd ..
[root@iZ2864f6btwZ redis-4.0.2]# redis-server -v
Redis server v=4.0.2 sha=00000000:0 malloc=jemalloc-4.0.3 bits=64 build=2bf9a60dbb8aa944
[root@iZ2864f6btwZ redis-4.0.2]# 

启动服务

tar –zxvf redis-stable.tar.gz
将redis配置文件拷贝到/usr/local/redis目录
[root@iZ2864f6btwZ redis-4.0.2]# cp redis.conf /usr/local/redis/
#service redis start

澳门金沙vip 2

创建 redis 运行时所需目录
[root@iZ2864f6btwZ redis-4.0.2]# mkdir -p /var/run/redis/{data,log,run}

查看服务是否启动

3) 编译、安装

修改redis.conf,配置正确的dump、log、pid目录路径
[root@iZ2864f6btwZ redis-4.0.2]# vim /usr/local/redis/redis.conf

...
# 以后台守护进程运行
daemonize yes
...
pidfile /var/run/redis/run/redis.pid
...
logfile /var/run/redis/log/redis.log
...
dir /var/run/redis/data
...
#lsof -i:6379
cd redis-stable
启动 redis 并查看运行时目录
[root@iZ2864f6btwZ redis-4.0.2]# cd /var/run/redis
[root@iZ2864f6btwZ redis]# tree .
.
├── data
├── log
└── run

3 directories, 0 files
[root@iZ2864f6btwZ redis]# redis-server /usr/local/redis/redis.conf 
[root@iZ2864f6btwZ redis]# 
[root@iZ2864f6btwZ redis]# tree .
.
├── data
├── log
│   └── redis.log
└── run
    └── redis.pid

3 directories, 2 files
[root@iZ2864f6btwZ redis]# 

注意:
tree命令是查看目录结构,如果当前系统没有此命令,请使用yum -y install tree进行安装。

二、Debian 8.0设置方法

澳门金沙vip 3

使用脚本启动 redis 服务器,请确保REDISPORTEXECCLIEXECPIDFILECONF配置路径正确,并给/etc/init.d/redis执行权限
[root@iZ2864f6btwZ redis]# cd /usr/local/src/redis-4.0.2/
[root@iZ2864f6btwZ redis-4.0.2]# cp utils/redis_init_script /etc/init.d/redis
[root@iZ2864f6btwZ redis-4.0.2]# vim !$

...
REDISPORT=6379
EXEC=/usr/local/redis/redis-server
CLIEXEC=/usr/local/redis/redis-cli

PIDFILE=/var/run/redis/run/redis.pid
CONF="/usr/local/redis/redis.conf"
...

[root@iZ2864f6btwZ redis-4.0.2]# chmod +x /etc/init.d/redis

步骤与上面类似,不过Debian 用update-rc.d(或insserv)代替chkconfig

make
加入开机自动启动
[root@iZ2864f6btwZ redis-4.0.2]# chkconfig --add /etc/init.d/redis 
service redis does not support chkconfig
[root@iZ2864f6btwZ redis-4.0.2]#

错误:
service redis does not support chkconfig

解决:
出现上述问题的原因是因为redis启动脚本没有添加chkconfig启动的优先级导致的,加入redis启动优先级信息# chkconfig: 2345 90 10

[root@iZ2864f6btwZ redis-4.0.2]# vim /etc/init.d/redis

...
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

# chkconfig: 2345 90 10
...

添加了redis启动优先级

脚本文件描述也不一样。

如果提示gcc command不识别,请自行安装gcc;

再次执行上述步骤
[root@iZ2864f6btwZ redis-4.0.2]# chkconfig --add /etc/init.d/redis 
[root@iZ2864f6btwZ redis-4.0.2]# chkconfig redis on
[root@iZ2864f6btwZ redis-4.0.2]# chkconfig --list | grep redis

Note: This output shows SysV services only and does not include native
     systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.
      To see services enabled on particular target use
      'systemctl list-dependencies [target]'.

redis           0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@iZ2864f6btwZ redis-4.0.2]#

假设Redis已经安装,版本3.2.4

如果提示couldn’t execute tcl : no such file or
dicrectory,请自行安装tcl;

用service启动redis服务器
[root@iZ2864f6btwZ redis-4.0.2]# service redis start
Starting Redis server...
[root@iZ2864f6btwZ redis-4.0.2]# ps -ef | grep redis
root     12505     1  0 17:06 ?        00:00:00 /usr/local/redis/redis-server 127.0.0.1:6379
root     12511  3790  0 17:06 pts/0    00:00:00 grep --color=auto redis
[root@iZ2864f6btwZ redis-4.0.2]# 

注意:
如果之前有启动过redis,请先停止redis服务器,如果是通过redis-server命令启动的,可使用redis-cli shutdown停止

[root@iZ2864f6btwZ redis-4.0.2]# ps -ef | grep redis
root     12151     1  0 16:18 ?        00:00:02 redis-server 127.0.0.1:6379
root     12479  3790  0 17:04 pts/0    00:00:00 grep --color=auto redis
[root@iZ2864f6btwZ redis-4.0.2]# 
[root@iZ2864f6btwZ redis-4.0.2]# redis-cli shutdown
[root@iZ2864f6btwZ redis-4.0.2]# 
[root@iZ2864f6btwZ redis-4.0.2]# ps -ef | grep redis
root     12483  3790  0 17:04 pts/0    00:00:00 grep --color=auto redis
[root@iZ2864f6btwZ redis-4.0.2]# 
#cd redis-3.2.4#mkdir /etc/redis#cp redis.conf /etc/redis/6379.conf#cp utils/redis_init_script /etc/init.d/redis#chmod a+x /etc/init.d/redis#cp src/redis-server /usr/local/bin/#cp src/redis-cli /usr/local/bin/#vim /etc/init.d/redis

如果提示

测试redis服务器是否可以正常读写
[root@iZ2864f6btwZ redis-4.0.2]# redis-cli
127.0.0.1:6379> set foo test
OK
127.0.0.1:6379> get foo
"test"
127.0.0.1:6379> 

以下为补充内容

在脚本文件添加

澳门金沙vip 4

给redis设置密码,编辑/usr/local/reids/redis.conf,大概在500行左右找到requirepass项,后面输入访问redis的密码,注意是明文存储的

设置密码

### BEGIN INIT INFO# Provides: redis6379# Required-Start: $local_fs $network# Required-Stop: $local_fs# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: redis6379# Description: penavico redis 6379### END INIT INFO

请执行make distclean,然后再make

测试密码是否配置正确,使用auth命令 + 密码进行授权
[root@iZ2864f6btwZ redis-4.0.2]# redis-cli 
127.0.0.1:6379> get foo
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth newpassword
OK
127.0.0.1:6379> get foo
"test"
127.0.0.1:6379> 

结尾:
Redis安装与基本配置已经完成,后续更多关于 redis
配置的文章稍后推出,喜欢就关注一下。

否则会出现
“ insserv: warning: script ‘redis6379′ missing LSB tags and overrides”的错误提示

澳门金沙vip 5

#!/bin/sh## Simple Redis init.d script conceived to work on Linux systems# as it does use of the /proc filesystem.### BEGIN INIT INFO# Provides: redis6379# Required-Start: $local_fs $network# Required-Stop: $local_fs# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: redis6379# Description: penavico redis 6379### END INIT INFOREDISPORT=6379EXEC=/usr/local/bin/redis-serverCLIEXEC=/usr/local/bin/redis-cliPIDFILE=/var/run/redis_${REDISPORT}.pidCONF="/etc/redis/${REDISPORT}.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 ;; stop) if [ ! -f $PIDFILE ] then echo "$PIDFILE does not exist, process is not running" else PID=$(cat $PIDFILE) echo "Stopping ..." $CLIEXEC -p $REDISPORT shutdown while [ -x /proc/${PID} ] do echo "Waiting for Redis to shutdown ..." sleep 1 done echo "Redis stopped" fi ;; *) echo "Please use start or stop as first argument" ;;esac

Make成功之后,会在src目录下多出一些文件,如下

注册事件,开机启动

澳门金沙vip 6

#update-rc.d redisd defaults

澳门金沙vip,可手动拷贝redis-server、redis-cli、redis-check-aof、redis-check-dump等至/usr/local/bin目录下,也可执行make
install,此处执行

启动服务

make install
#service redis start

澳门金沙vip 7

查看服务是否启动

可查看,/usr/local/bin下已有这些文件。

#lsof -i:6379

注意:若此时执行redis-server –v (查看版本命令),若提示redis-server
command not
found,则需要将/usr/local/bin目录加到环境变量,如何添加,此处不做详细介绍,可查看修改/etc/profile,(查看环境变量命令:echo
$PATH)

开机启动以后,默认的配置文件位置:/etc/redis/6379.conf

正常如下

总结

澳门金沙vip 8

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

至此,redis安装完成,接着配置。

二.修改配置文件.conf**
**

1)创建配置文件目录,dump file 目录,进程pid目录,log目录等

配置文件一般放在/etc/下,创建redis目录

cd /etc/
mkdir redis

澳门金沙vip 9

查看创建的redis目录

dump file、进程pid、log目录等,一般放在/var/目录下,