Redis在CentOS 7上的安装部署
简介:
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下的文件:
可以看到此时,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
结果:
但是,这样做的话,我们并没有使用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仍然是在前台运行。
如果要后台启动该怎么办呢?
在这里我们用—-直接将命令丢到后台中“执行”的 & ?可以吗?
答案是不可以的,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
转载:https://www.linuxidc.com/Linux/2017-05/143312.htm
Redis在CentOS 7上的安装部署的更多相关文章
- 【转载】在Centos系统上采用二进制文件部署Node.js环境
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,用来方便地搭建快速的易于扩展的网络应用.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又 ...
- Centos搭建PXE,安装部署操作系统
centos系统搭建PXE网络安装centos+ubuntu+Windows Centos搭建PXE,安装部署操作系统 一 . 原理: 1.什么是PXE: PXE(Pre-boot Execution ...
- CentOS 6.5上MySQL安装部署与入门。
centos 6.5 yum 安装mysql1. 安装软件:yum install -y mysql-server mysql mysql-devel2.启动服务:service mysqld sta ...
- redis之 centos 6.7 下安装 redis-3.2.5
前期准备:1. 操作系统需要安装 gcc 包 与 TCL 库, 通过配置本地 yum 源 ,yum -y install gcc . yum -y install tcl安装2. 下载 redis ...
- centos 7环境下安装部署zookeeper
近一直在看zookeeper的知识,有所收获,打算写些一些关于zookeeper的博客,也当做是自己的复习和笔记. 在上一篇 博客中简单地介绍了centos 7 下如何安装jdk,这一篇将介绍如何在c ...
- 分布式缓存技术redis学习系列(一)——redis简介以及linux上的安装
redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据.当前主流的分布式缓存技术有redis,memcached,ssd ...
- 分布式缓存技术redis学习(一)——redis简介以及linux上的安装
redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据.当前主流的分布式缓存技术有redis,memcached,ssd ...
- 分布式缓存技术redis系列(一)——redis简介以及linux上的安装
redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据.当前主流的分布式缓存技术有redis,memcached,ssd ...
- Redis的概述、优势和安装部署
Redis概述 Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的应用程序的完美解决方案. Redis从它的许多竞争继承来的三个主要特点: Redis数据库完全在内存中,使 ...
随机推荐
- POJ1236:Network of Schools——题解
http://poj.org/problem?id=1236 首先还是缩点,然后入度为0的点的个数就是你要投文件个数. 然后我们对于入度和出度为0的点的个数取最大值即为答案. (简单证明:入度和出度为 ...
- BZOJ1008:[HNOI2008]越狱——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=1008 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中 ...
- ZOJ3229:Shoot the Bullet——题解
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3229 题目大意:射命丸文要给幻想乡的居民照相,共照n天m个人,每天射命丸文 ...
- 洛谷 P1640 [SCOI2010]连续攻击游戏 解题报告
P1640 [SCOI2010]连续攻击游戏 题目描述 lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.当他使用某种装备 ...
- HDOJ(HDU).1114 Piggy-Bank (DP 完全背包)
HDOJ(HDU).1114 Piggy-Bank (DP 完全背包) 题意分析 裸的完全背包 代码总览 #include <iostream> #include <cstdio&g ...
- HDOJ(HDU).1258 Sum It Up (DFS)
HDOJ(HDU).1258 Sum It Up (DFS) [从零开始DFS(6)] 点我挑战题目 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架/双 ...
- 项目管理---git----快速使用git笔记(二)------git的本地安装
下载安装包 在使用Git前我们需要先安装 Git.Git 目前支持 Linux/Unix.Solaris.Mac和 Windows 平台上运行. Git 各平台安装包下载地址为:http://git- ...
- sub-G 无线芯片基础知识
1.典型无线收发机编码 2.前导码的作用是使接收机的时钟和发射机同步(有待验证),如果接收机工作在WOR模式,前导码还有唤醒接收机的功能(接收一定数量的前导码),此时发射机必须发送较长的前导码才能把接 ...
- Linux下iptables安全配置
Linux下配置IPTables,只开放特定端口,禁用其他网络. *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] ...
- springboot整合thumbnailator实现图片压缩
springboot整合thumbnailator实现图片压缩 前言 最近由于首页产品列表图片显示太慢,经过研究发现是用户上传的图片太大. 针对这个问题,想到的解决方案是: 1. 产品上传时,限定图片 ...