一、安装 redis

第一步:下载 redis 安装包

wget http://download.redis.io/releases/redis-4.0.6.tar.gz

  1. [root@iZwz991stxdwj560bfmadtZ local]# wget http://download.redis.io/releases/redis-4.0.6.tar.gz
  2. --2017-12-13 12:35:12-- http://download.redis.io/releases/redis-4.0.6.tar.gz
  3. Resolving download.redis.io (download.redis.io)... 109.74.203.151 Connecting to download.redis.io (download.redis.io)|109.74.203.151|:80... connected.
  4. HTTP request sent, awaiting response... 200 OK
  5. Length: 1723533 (1.6M) [application/x-gzip]
  6. Saving to: redis-4.0.6.tar.gz 100%[==========================================================================================================>] 1,723,533 608KB/s in 2.8s 2017-12-13 12:35:15 (608 KB/s) - redis-4.0.6.tar.gz saved [1723533/1723533]

第二步:解压压缩包

tar -zxvf redis-4.0.6.tar.gz

  1. [root@iZwz991stxdwj560bfmadtZ local]# tar -zxvf redis-4.0.6.tar.gz

第三步:yum 安装 gcc 依赖

yum install gcc

  1. [root@iZwz991stxdwj560bfmadtZ local]# yum install gcc

遇到选择, 输入 y 即可

第四步:跳转到 redis 解压目录下

cd redis-4.0.6

  1. [root@iZwz991stxdwj560bfmadtZ local]# cd redis-4.0.6

第五步:编译安装

make MALLOC=libc

  1. [root@iZwz991stxdwj560bfmadtZ redis-4.0.6]# make MALLOC=libc

将 / usr/local/redis-4.0.6/src 目录下的文件加到 / usr/local/bin 目录

cd src && make install

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

Centos7下安装redis - 图1
; “复制代码”)

二、启动 redis 的三种方式

先切换到 redis src 目录下

[root@iZwz991stxdwj560bfmadtZ redis-4.0.6]# cd src

1、直接启动 redis

./redis-server

  1. [root@iZwz991stxdwj560bfmadtZ src]# ./redis-server
  2. 18685:C 13 Dec 12:56:12.507 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
  3. 18685:C 13 Dec 12:56:12.507 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=18685, just started
  4. 18685:C 13 Dec 12:56:12.507 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf
  5. _._
  6. _.-``__ ''-._
  7. _.-`` `. `_. ''-._ Redis 4.0.6 (00000000/0) 64 bit
  8. .-`` .-```. ```\/ _.,_ ''-._
  9. ( ' , .-` | `, ) Running in standalone mode
  10. |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
  11. | `-._ `._ / _.-' | PID: 18685
  12. `-._ `-._ `-./ _.-' _.-'
  13. |`-._`-._ `-.__.-' _.-'_.-'|
  14. | `-._`-._ _.-'_.-' | http://redis.io
  15. `-._ `-._`-.__.-'_.-' _.-'
  16. |`-._`-._ `-.__.-' _.-'_.-'|
  17. | `-._`-._ _.-'_.-' |
  18. `-._ `-._`-.__.-'_.-' _.-'
  19. `-._ `-.__.-' _.-'
  20. `-._ _.-'
  21. `-.__.-'
  22. 18685:M 13 Dec 12:56:12.508 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
  23. 18685:M 13 Dec 12:56:12.508 # Server initialized
  24. 18685:M 13 Dec 12:56:12.508 # 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.
  25. 18685:M 13 Dec 12:56:12.508 # 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.
  26. 18685:M 13 Dec 12:56:12.508 * Ready to accept connections

如上图:redis 启动成功,但是这种启动方式需要一直打开窗口,不能进行其他操作,不太方便。

按 ctrl + c 可以关闭窗口。

2、以后台进程方式启动 redis

第一步:修改 redis.conf 文件

  1. daemonize no

修改为

  1. daemonize yes

第二步:指定 redis.conf 文件启动

  1. ./redis-server /usr/local/redis-4.0.6/redis.conf
  1. [root@iZwz991stxdwj560bfmadtZ src]# ./redis-server /usr/local/redis-4.0.6/redis.conf
  2. 18713:C 13 Dec 13:07:41.109 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
  3. 18713:C 13 Dec 13:07:41.109 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=18713, just started
  4. 18713:C 13 Dec 13:07:41.109 # Configuration loaded

第三步:关闭 redis 进程

首先使用 ps -aux | grep redis 查看 redis 进程

  1. [root@iZwz991stxdwj560bfmadtZ src]# ps -aux | grep redis
  2. root 18714 0.0 0.1 141752 2008 ? Ssl 13:07 0:00 ./redis-server 127.0.0.1:6379
  3. root 18719 0.0 0.0 112644 968 pts/0 R+ 13:09 0:00 grep --color=auto redis

使用 kill 命令杀死进程

  1. [root@iZwz991stxdwj560bfmadtZ src]# kill 18714

3、设置 redis 开机自启动

1、在 / etc 目录下新建 redis 目录

mkdir redis

  1. [root@iZwz991stxdwj560bfmadtZ etc]# mkdir redis

2、将 / usr/local/redis-4.0.6/redis.conf 文件复制一份到 / etc/redis 目录下,并命名为 6379.conf

  1. [root@iZwz991stxdwj560bfmadtZ redis]# cp /usr/local/redis-4.0.6/redis.conf /etc/redis/6379.conf

3、将 redis 的启动脚本复制一份放到 / etc/init.d 目录下

  1. [root@iZwz991stxdwj560bfmadtZ init.d]# cp /usr/local/redis-4.0.6/utils/redis_init_script /etc/init.d/redisd

4、设置 redis 开机自启动

先切换到 / etc/init.d 目录下

然后执行自启命令

  1. [root@iZwz991stxdwj560bfmadtZ init.d]# chkconfig redisd on
  2. service redisd does not support chkconfig

看结果是 redisd 不支持 chkconfig

解决方法:

使用 vim 编辑 redisd 文件,在第一行加入如下两行注释,保存退出

  1. # chkconfig: 2345 90 10
  2. # description: Redis is a persistent key-value database

注释的意思是,redis 服务必须在运行级 2,3,4,5 下被启动或关闭,启动的优先级是 90,关闭的优先级是 10。

Centos7下安装redis - 图2

再次执行开机自启命令,成功

  1. [root@iZwz991stxdwj560bfmadtZ init.d]# chkconfig redisd on

现在可以直接已服务的形式启动和关闭 redis 了

启动:

service redisd start

  1. [root@izwz991stxdwj560bfmadtz ~]# service redisd start
  2. Starting Redis server... 2288:C 13 Dec 13:51:38.087 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 2288:C 13 Dec 13:51:38.087 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=2288, just started 2288:C 13 Dec 13:51:38.087 # Configuration loaded

关闭:

方法 1:service redisd stop

  1. [root@izwz991stxdwj560bfmadtz ~]# service redisd stop
  2. Stopping ...
  3. Redis stopped

方法 2:redis-cli SHUTDOWN

三、参考资料

1、http://blog.csdn.net/zc474235918/article/details/50974483

2、http://blog.csdn.net/gxw19874/article/details/51992125

如果出现如下问题:

  1. [root@iZwz991stxdwj560bfmadtZ ~]# service redisd start
  2. /var/run/redis_6379.pid exists, process is already running or crashed

可参考资料:http://blog.csdn.net/luozhonghua2014/article/details/54649295
https://www.cnblogs.com/zuidongfeng/p/8032505.html