阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Redis在CentOS 7上的安装部署

261次阅读
没有评论

共计 6081 个字符,预计需要花费 16 分钟才能阅读完成。

简介

Redis 是一种高级 key-value 数据库。它跟 memcached 类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集 (difference) 等,还支持多种排序功能。所以 Redis 也可以被看成是一个数据结构服务器。

Redis 的所有数据都是保存在内存中(效率高),然后不定期的通过异步方式保存到磁盘上 (这称为“半持久化模式”);也可以把每一次数据变化都写入到一个 append only file(aof) 里面(这称为“全持久化模式”)。

在这里我仅仅给出 Redis 在 CentOS 7 上的安装部署。

步骤一:下载 Redis 安装包

首先从官网下在 redis 正式版的压缩包 redis-2.8.19.tar.gz:

cd /home/downloads
wget http://download.redis.io/releases/redis-2.8.19.tar.gz

步骤二:编译源程序

解压和编译

tar -zxvf redis-2.8.19.tar.gz
cd redis-2.8.19/src
// 编译
make

……. 此处是大量编译过程,省略。可能有一些警告,不去官它们………….
CC setproctitle.o
CC hyperloglog.o
CC latency.o
CC sparkline.o
LINK redis-server
INSTALL redis-sentinel
CC redis-cli.o
LINK redis-cli
CC redis-benchmark.o
LINK redis-benchmark
CC redis-check-dump.o
LINK redis-check-dump
CC redis-check-aof.o
LINK redis-check-aof

Hint: It’s a good idea to run‘make test’;)

进入 src 进行安装:

cd src
make install

// 安装过程提示
Hint: It’s a good idea to run‘make test’;)

INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install

这时候,我们可以看看 src 下的文件:

Redis 在 CentOS 7 上的安装部署

可以看到此时,src 文件夹下出现了一些绿色的文件,这些文件就是我们以后需要用到的命令文件

步骤三:移动文件

移动文件,便于管理:(所有源代码安装的软件都安装在 /usr/local 下,如 apache 等)

创建两个文件夹,bin 用于存放命令,etc 拥有存放配置文件。

mkdir -p /usr/local/redis/etc
mkdir -p /usr/local/redis/etc

- p 是递归创建。

接下来,将 redis-2.8.19 文件夹下的 redis.conf 复制到 /usr/local/redis/etc/

并将 src 目录下的 7 个命令文件(绿色的),移动到 /usr/local/redis/bin/

[linuxidc@localhost src]$ cd ..
[linuxidc@localhost redis-2.8.19]$ ls
00-RELEASENOTES  COPYING  Makefile   redis.conf        sentinel.conf  utils
BUGS             deps     MANIFESTO  runtest           src
CONTRIBUTING     INSTALL  README     runtest-sentinel  tests
[linuxidc@localhost redis-2.8.19]$ mv ./redis.conf /usr/local/redis/etc/
[linuxidc@localhost redis-2.8.19]$ cd src
[linuxidc@localhost src]$  mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server /usr/local/redis/bin/

步骤四:启动 Redis 服务:

首先进入刚才安装 redis 的目录:

[linuxidc@localhost src]$ cd /usr/local/redis/bin
[linuxidc@localhost bin]$ ls
mkreleasehdr.sh  redis-check-aof   redis-cli       redis-server
redis-benchmark  redis-check-dump  redis-sentinel

之后我们启动 redis 服务。启动 redis 服务需要用到命令 redis-server

[linuxidc@localhost bin]$ ./redis-server

结果:

Redis 在 CentOS 7 上的安装部署

但是,这样做的话,我们并没有使用 etc 的下的配置文件进行启动(图中红线部分)。

如果希望通过指定的配置文件启动,需要在启动时指定配置文件:

这里我们先用 ctrl+ C 来终止服务,然后查看 redis 服务是否终止干净了,之后通过设置配置文件来启动服务:

按下 ctrl+ c 后(^C):

^C[32138 | signal handler] (1463921540) Received SIGINT scheduling shutdown...
[32138] 22 May 20:52:20.380 # User requested shutdown...
[32138] 22 May 20:52:20.380 * Saving the final RDB snapshot before exiting.
[32138] 22 May 20:52:20.393 * DB saved on disk
[32138] 22 May 20:52:20.393 # Redis is now ready to exit, bye bye...

运行:pstree -p | grep redis 发现 redis 服务已经被终止干净

现在我们带上配置文件 /usr/local/etc/redis.conf 运行 redis

[linuxidc@localhost bin]$ ./redis-server /usr/local/redis/etc/redis.conf

Redis 在 CentOS 7 上的安装部署

但是,现在 redis 仍然是在前台运行。

如果要后台启动该怎么办呢?

在这里我们用—- 直接将命令丢到后台中“执行”的 &?可以吗?

答案是不可以的,Redis 的后台启动并运行需要通过配置文件中的参数设置。如果需要在后台运行,把 daemonize 配置项改为 yes

vim /usr/local/redis/etc/redis.conf

搜索:’\daemonize’
把 daemonize 配置项改为 yes
保存退出

之后我们再次使用配置文件启动 redis-server。

可以看到,redis 是后台启动了,并且通过 ps 命令可以查看到 redis 正在运行。

[linuxidc@localhost bin]\$ ./redis-server /usr/local/redis/etc/redis.conf
[linuxidc@localhost bin]\$ ps -ef | grep redis
root     13154     1  0 22:53 ?        00:00:00 ./redis-server *:6379
neil     13162  8143  0 22:54 pts/0    00:00:00 grep --color=auto redis
[linuxidc@localhost bin]$ pstree -p | grep redis
           |-redis-server(13154)-+-{redis-server}(13156)
           |                     `-{redis-server}(13157)

Redis 服务端默认连接端口是 6379.

就好比 MySQL 或 mariadb 服务端默认连接端口是 3306

在平时,我们往往需要查看 6379 端口是否被占用。可以用以下命令:

netstat -tunpl | grep 6379

注意,redis 服务需要 root 权限才能查看,不然���能检查到 6379 被某个进程占用,但是看不到进程名称。

至此,redis 服务已经按照配置文件启动成功!!

步骤五:客户端登录

[linuxidc@localhost bin]$ /usr/local/redis/bin/redis-cli 

回车后如果提示:

[linuxidc@localhost bin]$ /usr/local/redis/bin/redis-cli
127.0.0.1:6379>//提示

则表明客户端登录成功

步骤六:关闭 Redis 服务

停止 Redis 实例

我们可以使用 pkill redis-server

[linuxidc@localhost bin]$ pkill redis-server
[linuxidc@localhost bin]$ netstat -tunpl | grep 6379
[linuxidc@localhost bin]$ 
[linuxidc@localhost bin]$ pstree -p | grep redis
[linuxidc@localhost bin]$ 
[linuxidc@localhost bin]$ 
[linuxidc@localhost bin]$ /usr/local/redis/bin/redis-cli 
Could not connect to Redis at 127.0.0.1:6379: Connection refused
not connected> 
not connected> exit

关闭之后,发现 6379 就不再被占用了,redis 的进程也都没有了。

客户登陆也无法成功了。

也可以使用 /usr/local/redis/bin/redis-cli shutdown,这种方法使用客户端命令 redis-cli 进行 Redis 服务的停止

[linuxidc@localhost bin]]$ ./redis-server /usr/local/redis/etc/redis.conf
[linuxidc@localhost bin]$ pstree -p | grep redis
           |-redis-server(13509)-+-{redis-server}(13511)
           |                     `-{redis-server}(13512)
[linuxidc@localhost bin]$ /usr/local/redis/bin/redis-cli shutdown
[linuxidc@localhost bin]$ pstree -p | grep redis
[linuxidc@localhost bin]$ 
[linuxidc@localhost bin]$ sudo netstat -tunpl | grep 6379
[linuxidc@localhost bin]$ 

当然关闭某个服务还可以使用 killall 和 kill -9.

附录:更多的关于 /usr/local/redis/etc/redis.conf 的配置信息

1、daemonize 如果需要在后台运行,把该项改为 yes

2、pidfile 配置多个 pid 的地址 默认在 /var/run/redis.pid

3、bind 绑定 ip,设置后只接受来自该 ip 的请求

4、port 监听端口,默认是 6379

5、loglevel 分为 4 个等级:debug verbose notice warning

6、logfile 用于配置 log 文件地址

7、databases 设置数据库个数,默认使用的数据库为 0

8、save 设置 redis 进行数据库镜像的频率。

9、rdbcompression 在进行镜像备份时,是否进行压缩

10、dbfilename 镜像备份文件的文件名

11、Dir 数据库镜像备份的文件放置路径

12、Slaveof 设置数据库为其他数据库的从数据库

13、Masterauth 主数据库连接需要的密码验证

14、Requriepass 设置 登陆时需要使用密码

15、Maxclients 限制同时使用的客户数量

16、Maxmemory 设置 redis 能够使用的最大内存

17、Appendonly 开启 append only 模式

18、Appendfsync 设置对 appendonly.aof 文件同步的频率(对数据进行备份的第二种方式)

19、vm-enabled 是否开启虚拟内存支持(vm 开头的参数都是配置虚拟内存的)

20、vm-swap-file 设置虚拟内存的交换文件路径

21、vm-max-memory 设置 redis 使用的最大物理内存大小

22、vm-page-size 设置虚拟内存的页大小

23、vm-pages 设置交换文件的总的 page 数量

24、vm-max-threads 设置 VM IO 同时使用的线程数量

25、Glueoutputbuf 把小的输出缓存存放在一起

26、hash-max-zipmap-entries 设置 hash 的临界值

27、Activerehashing 重新 hash

下面关于 Redis 的文章您也可能喜欢,不妨参考下:

Ubuntu 14.04 下 Redis 安装及简单测试 http://www.linuxidc.com/Linux/2014-05/101544.htm

Redis 主从复制基本配置 http://www.linuxidc.com/Linux/2015-03/115610.htm

CentOS 7 下 Redis 的安装与配置 http://www.linuxidc.com/Linux/2017-02/140363.htm

Ubuntu 14.04 安装 Redis 与简单配置 http://www.linuxidc.com/Linux/2017-01/139075.htm

Ubuntu 16.04 环境中安装 PHP7.0 Redis 扩展 http://www.linuxidc.com/Linux/2016-09/135631.htm

Redis 单机 & 集群离线安装部署 http://www.linuxidc.com/Linux/2017-03/141403.htm

CentOS 7.0 安装 Redis 3.2.1 详细过程和使用常见问题 http://www.linuxidc.com/Linux/2016-09/135071.htm

Ubuntu 16.04 环境中安装 PHP7.0 Redis 扩展 http://www.linuxidc.com/Linux/2016-09/135631.htm

Ubuntu 15.10 下 Redis 集群部署文档 http://www.linuxidc.com/Linux/2016-06/132340.htm

Redis 实战 中文 PDF http://www.linuxidc.com/Linux/2016-04/129932.htm

Redis 热迁移实战总结  http://www.linuxidc.com/Linux/2017-02/141083.htm

Redis3.0 配置文件详解  http://www.linuxidc.com/Linux/2017-03/141369.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-05/143312.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计6081字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中