redis安装从3.0的版本到现在4.0的版本,现在装一个4.0的版本供大家学习使用。

先yum安装gcc

?
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
  yum -y install gcc
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
  * base: mirrors.aliyun.com
  * extras: mirror.bit.edu.cn
  * updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 gcc.x86_64.0.4.8.5-16.el7_4.2 将被 安装
--> 解决依赖关系完成
 
依赖关系解决
 
==============================================================================================================
  Package             架构                   版本                                源                       大小
==============================================================================================================
正在安装:
  gcc                 x86_64                 4.8.5-16.el7_4.2                    updates                  16 M
 
事务概要
==============================================================================================================
安装  1 软件包
 
总下载量:16 M
安装大小:37 M
Downloading packages:
gcc-4.8.5-16.el7_4.2.x86_64.rpm                                                        |  16 MB  00:00:33     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
   正在安装    : gcc-4.8.5-16.el7_4.2.x86_64                                                               1/1 
   验证中      : gcc-4.8.5-16.el7_4.2.x86_64                                                               1/1 
 
已安装:
   gcc.x86_64 0:4.8.5-16.el7_4.2                                                                               
 
完毕!

下载redis最新4.0版本的tar包

?
1
2
3
4
5
6
7
8
9
10
11
wget http://download.redis.io/releases/redis-4.0.9.tar.gz
--2018-04-20 15:15:36--  http://download.redis.io/releases/redis-4.0.9.tar.gz
正在解析主机 download.redis.io (download.redis.io)... 109.74.203.151
正在连接 download.redis.io (download.redis.io)|109.74.203.151|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1737022 (1.7M) [application/x-gzip]
正在保存至: “redis-4.0.9.tar.gz”
 
100%[====================================================================>] 1,737,022   75.3KB/s 用时 43s    
 
2018-04-20 15:16:20 (39.2 KB/s) - 已保存 “redis-4.0.9.tar.gz” [1737022/1737022])

开始编译安装

?
1
2
3
tar -xvf redis-4.0.9.tar.gz 
cd redis-4.0.9/
make MALLOC=libc

 继续中...............

?
1
2
3
4
5
6
7
8
9
10
[root@localhost redis-4.0.9]# cd src && make install
     CC Makefile.dep
 
Hint: It's a good idea to run 'make test' ;)
 
     INSTALL install
     INSTALL install
     INSTALL install
     INSTALL install
     INSTALL install

安装好了,启动试试。 

?
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
[root@localhost redis-4.0.9]# src/redis-server redis.conf
37399:C 20 Apr 16:08:57.437 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
37399:C 20 Apr 16:08:57.438 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=37399, just started
37399:C 20 Apr 16:08:57.438 # Warning: no config file specified, using the default config. In order to specify a config file use src/redis-server /path/to/redis.conf
37399:M 20 Apr 16:08:57.440 * Increased maximum number of open files to 10032 (it was originally set to 1024).
                 _._                                                  
            _.-``__ ''-._                                             
       _.-``    `.  `_.  ''-._           Redis 4.0.9 (00000000/0) 64 bit
   .-`` .-```.  ```\/    _.,_ ''-._                                   
  (    '      ,       .-`  | `,    )     Running in standalone mode
  |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
  |    `-._   `._    /     _.-'    |     PID: 37399
   `-._    `-._  `-./  _.-'    _.-'                                   
  |`-._`-._    `-.__.-'    _.-'_.-'|                                  
  |    `-._`-._        _.-'_.-'    |           http://redis.io        
   `-._    `-._`-.__.-'_.-'    _.-'                                   
  |`-._`-._    `-.__.-'    _.-'_.-'|                                  
  |    `-._`-._        _.-'_.-'    |                                  
   `-._    `-._`-.__.-'_.-'    _.-'                                   
       `-._    `-.__.-'    _.-'                                       
           `-._        _.-'                                           
               `-.__.-'                                               
 
37399:M 20 Apr 16:08:57.448 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
37399:M 20 Apr 16:08:57.448 # Server initialized
37399:M 20 Apr 16:08:57.448 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
37399:M 20 Apr 16:08:57.450 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
37399:M 20 Apr 16:08:57.450 * Ready to accept connections

 这种方式退出就服务就停了,所以让它在后台运行可以这样做:

第一种:直接在启动服务后面加上 & 符号,让它在后台运行。

?
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
src/redis-server redis.conf &
[1] 36412
[root@localhost redis-4.0.9]# 36412:C 20 Apr 15:28:08.362 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
36412:C 20 Apr 15:28:08.362 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=36412, just started
36412:C 20 Apr 15:28:08.362 # Configuration loaded
36412:M 20 Apr 15:28:08.364 * Increased maximum number of open files to 10032 (it was originally set to 1024).
                 _._                                                  
            _.-``__ ''-._                                             
       _.-``    `.  `_.  ''-._           Redis 4.0.9 (00000000/0) 64 bit
   .-`` .-```.  ```\/    _.,_ ''-._                                   
  (    '      ,       .-`  | `,    )     Running in standalone mode
  |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
  |    `-._   `._    /     _.-'    |     PID: 36412
   `-._    `-._  `-./  _.-'    _.-'                                   
  |`-._`-._    `-.__.-'    _.-'_.-'|                                  
  |    `-._`-._        _.-'_.-'    |           http://redis.io        
   `-._    `-._`-.__.-'_.-'    _.-'                                   
  |`-._`-._    `-.__.-'    _.-'_.-'|                                  
  |    `-._`-._        _.-'_.-'    |                                  
   `-._    `-._`-.__.-'_.-'    _.-'                                   
       `-._    `-.__.-'    _.-'                                       
           `-._        _.-'                                           
               `-.__.-'                                               
 
36412:M 20 Apr 15:28:08.370 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
36412:M 20 Apr 15:28:08.370 # Server initialized
36412:M 20 Apr 15:28:08.371 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
36412:M 20 Apr 15:28:08.371 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
36412:M 20 Apr 15:28:08.371 * DB loaded from disk: 0.000 seconds
36412:M 20 Apr 15:28:08.371 * Ready to accept connections

 第二种:修改redis.conf配置文件

?
1
2
#daemonize no
daemonize yes

启动服务

?
1
2
3
src/redis-server redis.conf 
 
36443:C 20 Apr 15:33:12.897 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 36443:C 20 Apr 15:33:12.898 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=36443, just started 36443:C 20 Apr 15:33:12.898 # Configuration loaded

 查看服务是否启动

?
1
2
3
ps -ef |grep redis
root      36412   5190  0 15:28 pts/1    00:00:00 src/redis-server 127.0.0.1:6379
root      36417   5190  0 15:28 pts/1    00:00:00 grep --color=auto redis

 停止redis服务

?
1
kill -9 进程号

 设置redis登陆密码

?
1
2
3
4
vim redis.conf
修改成下面内容即可
# requirepass foobared
requirepass 123456

 此时重启redis,登陆时需要密码验证

?
1
2
3
4
5
6
7
8
9
10
11
12
[root@localhost redis-4.0.9]# src/redis-server redis.conf 
36516:C 20 Apr 15:42:02.221 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
36516:C 20 Apr 15:42:02.221 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=36516, just started
36516:C 20 Apr 15:42:02.221 # Configuration loaded
[root@localhost redis-4.0.9]# src/redis-cli 
127.0.0.1:6379> ping 
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> ping 
PONG
127.0.0.1:6379>

  好了,这就是简单的redis部署环境了,生产环境其实一样,没什么复杂的,配置好了,然后就把ip和端口告诉开发,开发就会去连接redis,或者写到配置文件中,最后将整个的包发给我们运维,让我们去部署就行了,非常简单。