安装前提
需要安装gcc:yum install gcc-c++1
[root@node-1 opt]# yum install gcc-c++
上传文件,解压源码
1 | [root@node-1 opt]# pwd |
make
1 | [root@node-1 redis-4.0.11]# pwd |
make install
1 | [root@node-1 redis-4.0.11]# pwd |
启动redis
前端启动(./redis-server)
前端模式启动的缺点是ssh命令窗口关闭则redis-server程序结束
1 | [root@node-1 bin]# pwd |
测试是否启动成功(./redis-cli):
1 | [root@node-1 bin]# pwd |
redis配置
1.把源码中的redis.conf复制到bin目录下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[root@node-1 redis]# pwd
/data/redis
[root@node-1 redis]# ll
总用量 0
drwxr-xr-x. 2 root root 168 9月 22 14:56 bin
[root@node-1 redis]# mkdir logs
[root@node-1 redis]# ll
总用量 0
drwxr-xr-x. 2 root root 191 9月 22 14:32 bin
drwxr-xr-x. 2 root root 6 9月 22 14:34 logs
[root@node-1 redis]# cd bin/
[root@node-1 bin]# ll
总用量 21952
-rw-r--r--. 1 root root 107 9月 22 14:45 dump.rdb
-rwxr-xr-x. 1 root root 2451928 9月 22 11:30 redis-benchmark
-rwxr-xr-x. 1 root root 5776216 9月 22 11:30 redis-check-aof
-rwxr-xr-x. 1 root root 5776216 9月 22 11:30 redis-check-rdb
-rwxr-xr-x. 1 root root 2618008 9月 22 11:30 redis-cli
lrwxrwxrwx. 1 root root 12 9月 22 11:30 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 5776216 9月 22 11:30 redis-server
[root@node-1 bin]# cp /opt/redis-4.0.11/redis.conf /data/redis/bin/
[root@node-1 bin]# ll
总用量 16304
-rwxr-xr-x 1 root root 2451928 9月 22 08:29 redis-benchmark
-rwxr-xr-x 1 root root 5776216 9月 22 08:29 redis-check-aof
-rwxr-xr-x 1 root root 5776216 9月 22 08:29 redis-check-rdb
-rwxr-xr-x 1 root root 2618008 9月 22 08:29 redis-cli
-rw-r--r-- 1 root root 58766 9月 22 10:57 redis.conf
lrwxrwxrwx 1 root root 12 9月 22 08:29 redis-sentinel -> redis-server
-rwxr-xr-x 1 root root 0 9月 22 08:30 redis-server
[root@node-1 bin]# vim redis.conf
2.配置说明1
2
3
4
5
6
71.注掉本地ip,允许远程连接
bind 127.0.0.1 --> # bind 127.0.0.1
protected-mode yes --> protected-mode no
2.配置后端启动
daemonize no --> daemonize yes
3.配置日志文件
logfile "../logs/redis.log"
后端启动
1 | [root@node-1 bin]# netstat -ano | grep 6379 |
停止redis服务
使用客户端工具关闭: ./redis-cli shutdown, -p 可以指定端口1
2
3
4
5
6
7
8
9[root@node-2 bin]# pwd
/data/redis/bin
[root@node-2 bin]# ./redis-cli -p 6379 shutdown
[root@node-2 bin]# ./redis-cli
Could not connect to Redis at 127.0.0.1:6379: Connection refused
Could not connect to Redis at 127.0.0.1:6379: Connection refused
not connected> get a
Could not connect to Redis at 127.0.0.1:6379: Connection refused
not connected>
绑定多个IP
1 | # bind 127.0.0.1 |
设置redis密码(永久方式)
设置密码
1 | 需要永久配置密码的话就去redis.conf的配置文件中找到requirepass这个参数,如下配置: |
连接测试
1 | [root@node-2 bin]# vim redis.conf |
停止redis
redis-cli连接host,port,password,database
redis-cli -h xxxx -p 6379 -a password -n 0(指定几号数据库,默认0号数据库)1
2
3
4
5
6[root@node-2 bin]# ./redis-cli -a redisadmin shutdown
Warning: Using a password with '-a' option on the command line interface may not be safe.
[root@node-2 bin]# ./redis-cli
Could not connect to Redis at 127.0.0.1:6379: Connection refused
Could not connect to Redis at 127.0.0.1:6379: Connection refused
not connected>
Redis配置为Service系统服务并开机自启动
将程序配置为服务后,就可以使用service命令对系统服务进行管理,如:start(启动)、stop(停止)、restart(重启)等。Redis安装后默认不会配置为系统服务。
这个是centos6 的service 命令。
复制redis_init_script文件
1.将utils/redis_init_script文件复制/etc/rc.d/init.d/目录,并重命名为redis:
cp utils/redis_init_script /etc/rc.d/init.d/redis
注意:
以上命令需要在Redis源代码的根目录执行。redis_init_script文件是Redis提供的初始化脚本。
init.d目录—在系统启动的时候某些指定脚本将被执行。
1 | [root@node-2 utils]# pwd |
编辑redis文件
1 | [root@node-2 utils]# cd /etc/init.d/ |
配置说明
1.在脚本的第二行添加 # chkconfig 2345 90 101
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上面的注释的意思是,redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。
90是启动优先级,10是停止优先级,优先级范围是0-100,数字越大,优先级越低。
# 缺省的运行级,RHS用到的级别如下:
0:关机
1:单用户模式
2:无网络支持的多用户模式
3:有网络支持的多用户模式
4:保留,未使用
5:有网络支持有X-Window支持的多用户模式
6:重新引导系统,即重启
#chkconfig用法
chkconfig命令可以用来检查、设置系统的各种服务
使用语法:
chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset]
参数用法:
–add 增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。
–del 删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。
–level<等级代号> 指定读系统服务要在哪一个执行等级中开启或关毕。
使用范例:
chkconfig –list 列出所有的系统服务
chkconfig –add redis 增加redis服务
chkconfig –del redis 删除redis 服务
chkconfig –level redis 2345 on 把redis在运行级别为2、3、4、5的情况下都是on(开启)的状态。
2.Redis 服务端口,这里要以 Redis 的配置文件(redis.conf)中的端口为准1
REDISPORT=6397
3.redis安装位置配置1
2EXEC=/data/redis/bin/redis-server
CLIEXEC=/data/redis/bin/redis-cli
4.redis配置文件1
CONF="/data/redis/bin/redis.conf"
详细配置
(前边部分,后边的不变)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# chkconfig: 2345 90 10
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
### BEGIN INIT INFO
# Provides: redis_6379
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Redis data structure server
# Description: Redis data structure server. See https://redis.io
### END INIT INFO
REDISPORT=6379
EXEC=/data/redis/bin/redis-server
CLIEXEC=/data/redis/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/data/redis/bin/redis.conf"
注册系统服务
chkconfig –add redis
1 | [root@node-2 init.d]# chkconfig --add redis |
重新配置redis的日志文件位置
1 | logfile "/data/redis/logs/redis.log" |
重新启动
1 | [root@node-2 init.d]# service redis start |
停止服务
service redis stop 并不能停止服务,因为设定的密码,只能进入到安装目录执行命令
1 | [root@node-2 init.d]# service redis stop |