切换目录
cd /data
下载安装包
wget http://download.redis.io/releases/redis-3.2.1.tar.gz
解压
tar xzf redis-3.2.1.tar.gz
切换目录
cd redis-3.2.1
安装gcc
yum install gcc
查看是否安装
rpm -qa |grep gcc
编译安装redis
make MALLOC=libc
#编译安装完成
切换目录
cd src
输入下面命令
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
#建立软连接
ln -s /usr/redis/redis-server /usr/bin/redis-server
ln -s /usr/redis/redis-cli /usr/bin/redis-cli
关闭ipv6
.修改/etc/sysconfig/network 相应网卡,追加:代码如下
NETWORKING_IPV6=no
2.修改/etc/hosts,把ipv6的那句本地主机名解析的也注释掉:代码如下
#::1 localhost localhost6 localhost6.localdomain6
重启系统,然后确认:
代码如下
# lsmod | grep -i ipv6
# ifconfig | grep -i inet6
回到redis目录
cd /usr/redis
编辑vi redis.conf 追加:代码如下
bind 0.0.0.0
启动redis
redis-server redis.conf
启动成功
设置开机自启动
(1)先将redis.conf中daemonize设置为yes,确保守护进程开启。
2.通过指定配置文件启动
可以为redis服务启动指定配置文件,例如配置为/etc/redis/6379.conf
进入redis根目录,输入命令:
1
|
.
/redis-server
/etc/redis/6379
.conf
|
#如果更改了端口,使用`redis-cli`客户端连接时,也需要指定端口,例如:
1
|
redis-cli -p 6380
|
3.使用redis启动脚本设置开机自启动
启动脚本 redis_init_script 位于位于Redis的 /utils/ 目录下,redis_init_script脚本代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
#redis服务器监听的端口
REDISPORT=6379
#服务端所处位置
EXEC=
/usr/local/bin/redis-server
#客户端位置
CLIEXEC=
/usr/local/bin/redis-cli
#redis的PID文件位置,需要修改
PIDFILE=
/var/run/redis_
${REDISPORT}.pid
#redis的配置文件位置,需将${REDISPORT}修改为文件名
CONF=
"/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
|
根据启动脚本,将修改好的配置文件复制到指定目录下,用root用户进行操作:
1
2
|
mkdir
/etc/redis
cp
redis.conf
/etc/redis/6379
.conf
|
将启动脚本复制到/etc/init.d目录下,本例将启动脚本命名为redisd(通常都以d结尾表示是后台自启动服务)。
1
|
cp
redis_init_script
/etc/init
.d
/redisd
|
设置为开机自启动,直接配置开启自启动 chkconfig redisd on 发现错误: service redisd does not support chkconfig
解决办法,在启动脚本开头添加如下注释来修改运行级别:
1
2
|
#!/bin/sh
# chkconfig: 2345 90 10
|
再设置即可
1
2
3
4
5
6
|
#设置为开机自启动服务器
chkconfig redisd on
#打开服务
service redisd start
#关闭服务
service redisd stop
|
: redis设置AUTH命令
redis 127.0.0.1:6379> AUTH PASSWORD(error) ERR Client sent AUTH, but no password is set
redis 127.0.0.1:6379> CONFIG SET requirepass "1234"
OK
redis 127.0.0.1:6379> AUTH 1234
Ok
(3)设置权限
# chmod 755 redis
(4)启动
# /etc/init.d/redis start
提示错误 /etc/init.d/redis:permission denied
# chmod a+x /etc/init.d/redis
a+x 是给所有人加上可执行权限,包括所有者,所属组,和其他人
o+x 只是给其他人加上可执行权限
重新启动后显示
Starting Redis server...
Redis is running ...
(5)设置开机自启动
# chkconfig redis on
提示错误 service redis does not support chkconfig
把下面两行注释放在/etc/init.d/redis文件第一行前的注释中:
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
停止服务
/etc/init.d/redis stop -a 1234
开启服务
/etc/init.d/redis start -a 1234
重启服务
/etc/init.d/redis restart -a 1234
(6)关机重启测试