Redis-安装、配置和修改配置文件、以及在Ubuntu和CentOS上设置Redis服务的开机启动和防火墙设置,以及客户端连接。

目录

1. Redis简介

2. 离线安装

2.1 准备工作

2.2 解压、安装

2.3 修改配置文件

2.4 redis服务与关闭

2.5 redis服务的开机启动

2.5.1 Ubuntu上的配置

2.5.2 centos上的配置

3. 在线安装

4. 设置防火墙

5. 客户端连接


1. Redis简介

Redis 是完全开源免费的,遵守BSD协议,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。

特点:
支持数据的持久化,可以将内存中的数据保存到硬盘,在重启后再次加载使用。
支持的数据结构丰富,String,list,set, zset, hash等等。
支持数据备份,master-slave模式进行数据备份。

优势:
性能高,Redis能读的速度是110000次/s,写的速度是81000次/s。
数据类型丰富
原子性,redis中所有操作都是原子的,并且多个操作也支持原子性
丰富的特性,如通知,key过期等。

2. 离线安装

说明:该例的示例步骤基于ubuntu16版本。

2.1 准备工作

在离线安装redis前先安装两个软件,gcc和make,为方便安装可以先将用户切换到root下(使用 su 命令,需要输入root的密码)
1)安装gcc

apt-get install gcc

2)安装make

apt-get install make

关于gcc和make
GCC(GNU Compiler Collection,GNU编译器套件),是由 GNU 开发的编程语言编译器。它是以GPL许可证所发行的自由软件,也是 GNU计划的关键部分。GCC是Linux下重要的编译工具。
make工具的定义是通过编写的makefile脚本文件描述整个工程的编译、链接规则;通过脚本文件,对于复杂的工程也可以只通过一个命令就完成整个编译过程。类似于java中的maven

3)下载redis5,本例下载到了/home/lise目录下。

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

注: wget简介
wget是linux下常用的文件下载工具,wget支持http,https,ftp等协议,支持使用http代理。
wget有很多参数,常用的有一下几个:
-V --version 显示wget的版本
-o --output-file=file 将信息写入file,如果不提供默认以下载的文件作为文件名。
-v --verbose 详细输出,默认值
-t --tries=number 设置重试次数,0表示无限制

2.2 解压、安装

1)在/usr/local目录下创建一个redis目录又来放置解压后的redis。

mkdir /usr/local/redis

2)在本例中redis下载在/home/lisen目录,来到该目录执行解压

tar -zxvf redis-5.0.3.tar.gz  -C /usr/local/redis

3)编译-安装(在/usr/local/redis/redis-5.0.3目录下执行)

#编译
make

#安装
make install

编译成功的输出:

安装完成时的输出:

可以查看编译完成的redis命令文件:

ls /usr/local/bin/redis*
文件作用
/usr/local/bin/redis-benchmark性能测试工具
/usr/local/bin/redis-check-aof更新日志检查
/usr/local/bin/redis-check-dump本地数据文件检查
/usr/local/bin/redis-cli命令行操作工具
/usr/local/bin/redis-server服务器程序

在执行编译后,安装之前,可以选择性的执行make test,我们下载的一般都是release版本,该步骤是可选的(该步骤运行所有的单元测试代码,需要较长的时间),如果执行时报:You need tcl 8.5 or newer in order to run the Redis test,则需要先安装tcl,可以使用:
wget https://nchc.dl.sourceforge.net/project/tcl/Tcl/8.6.8/tcl8.6.8-src.tar.gz执行安装。

2.3 修改配置文件

 vim /usr/local/redis/redis-5.0.3/redis.conf

配置文件需要做如下修改:

  • #bind 127.0.0.1 改行限制redis只能本机访问,需要注释掉
  • port 6379 设置redis的访问端口,一般保存为默认值6379即可
  • protected-mode no 关闭保护模式,如果开启则需要将可以访问redis的机器IP地址配置到bind属性中,同时为redis设置访问密码
  • daemonize yes 开启守护进程模式。在该模式下,redis会在后台运行,并将pid写入到redis.conf选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。
  • requirepass 123456 设置访问密码,如果protected-mode设置为yes,则必须设置密码
  • pidfile /var/run/redis_6379.pid,如果使用默认端口则保持默认值即可。
  • logfile /usr/local/redis/redis-5.0.3/redis_log.log 设置redis日志
  • dir redis位置,默认为./ 当前目录,保持默认值。

2.4 redis服务与关闭

1)启动
安装成功后可以使用redis-server命令进行启动,改命令已经放入/usr/local/bin目录下,且该目录已经放入path环境变量,所以不必进入redis的安装目录也可以执行redis-server命令,在执行时为了使在/usr/local/redis/redis-5.0.3/redis.conf配置文件起效,需要作为启动参数提供。

redis-server  /usr/local/redis/redis-5.0.3/redis.conf

注意:为了能正常读取redis.conf配置文件,需要切换到root用户,或通过sudo命令启动。

启动成功后可以通过如下命令查看:

ps -aux|grep redis

 

2)关闭
可以使用如下命令进行关闭

redis-cli shutdown      #未设置密码,直接关闭
redis-cli -a 密码  shutdown   #设置密码,在关闭时需要提供密码

 

2.5 redis服务的开机启动

2.5.1 Ubuntu上的配置

1)在设置开机启动之前先确定是否安装了sysv-rc-conf

dpkg -l | grep sysv-rc-conf

如果没有安装则先安装该软件。

注:sysv-rc-conf 是功能强大的服务管理软件

apt-get install sysv-rc-conf

安装完成后可以通过如下命令来启动该程序

sysv-rc-conf

2)将启动脚本redis_init_script(位于安装目录下的utils目录下)复制到/etc/init.d下,重命名为redis-5.0.3

#将启动脚本拷贝到init.d目录
cp /usr/local/redis/redis-5.0.3/utils/redis_init_script /etc/init.d/

#进入init.d目录,重命名
cd /etc/init.d
mv redis_init_script redis-5.0.3

注: init.d目录即存放安装的服务的启动脚本

3)使用vim编辑启动脚本

#进入/etc/init.d
cd /etc/init.d

vim redis-5.0.3

# 将CONF修改为安装目录下的redis.conf
REDISPORT=6379                               #redis端口
EXEC=/usr/local/bin/redis-server             #redis server目录
CLIEXEC=/usr/local/bin/redis-cli             #redis cli目录
PIDFILE=/var/run/redis_${REDISPORT}.pid      #PID文件目录 
#CONF="/etc/redis/${REDISPORT}.conf"          #启动配置文件目录
CONF=/usr/local/redis/redis-5.0.3/redis.conf

4)使用sysv-rc-conf设置开机启动
使用方法:
操作界面十分简洁,你可以用鼠标点击,也可以用键盘方向键定位,用空格键选择,用Ctrl+N翻下一页,用Ctrl+P翻上一页,用Q退出。其中,“X”表示开启该服务。

5)如果启用了密码保护,则需要在启动脚本中做一些修改,否则在运行service redis-5.0.3 stop 时会报错。

注: 将 $CLIEXEC -p REDISPORT shutdown 修改为 CLIEXEC -p $REDISPORT -a 密码 shutdown

2.5.2 centos上的配置

1) 在 usr/local/redis/redis-5.0.3 目录下,可以看到有utils目录

[root@localhost redis-5.0.3]# ls
00-RELEASENOTES  COPYING  Makefile   redis.conf       runtest-sentinel  tests
BUGS             deps     MANIFESTO  runtest          sentinel.conf     utils
CONTRIBUTING     INSTALL  README.md  runtest-cluster  src
[root@localhost redis-5.0.3]#

2) 进入utils目录,并指向install_server.sh脚本

[root@localhost utils]# ./install_server.sh
Welcome to the redis service installer
This script will help you easily set up a running redis server

Please select the redis port for this instance: [6379]
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf] /usr/local/redis/redis-5.0.3/redis.conf
Please select the redis log file name [/var/log/redis_6379.log]
Selected default - /var/log/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/6379]
Selected default - /var/lib/redis/6379
Please select the redis executable path [/usr/local/bin/redis-server]
Selected config:
Port           : 6379
Config file    : /usr/local/redis/redis-5.0.3/redis.conf
Log file       : /var/log/redis_6379.log
Data dir       : /var/lib/redis/6379
Executable     : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
Is this ok? Then press ENTER to go on or Ctrl-C to abort.
Copied /tmp/6379.conf => /etc/init.d/redis_6379
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
/var/run/redis_6379.pid exists, process is already running or crashed
Installation successful!

该命令是交互式的,需要交互式的输入port, redis.conf,log文件等。

3)在/etc/init.d/目录下可以看到redis_6379这个自启动脚本

[root@localhost utils]# cd /etc/init.d
[root@localhost init.d]# ls
functions  netconsole  network  README  redis_6379  tomcat
[root@localhost init.d]#
./usr/local/redis/redis-5

4) chkconfig --list命令查看

[root@localhost init.d]# chkconfig --list

注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。

      要列出 systemd 服务,请执行 'systemctl list-unit-files'。
      查看在具体 target 启用的服务请执行
      'systemctl list-dependencies [target]'。

netconsole      0:关    1:关    2:关    3:关    4:关    5:关    6:关
network         0:关    1:关    2:开    3:开    4:开    5:开    6:关
redis_6379      0:关    1:关    2:开    3:开    4:开    5:开    6:关
tomcat          0:关    1:关    2:开    3:开    4:开    5:开    6:开
[root@localhost init.d]#

可以看到redis程序在2,3,4,5这四个等级下是开机自启动的

3. 在线安装

在线安装比较简单,运行下面命令即可

apt-get install redis-server

查看安装的位置

whereis redis

修改redis.conf配置文件(/etc/redis/redis.conf),取消只能本地访问的限制即可。

查看安装的redis版本

redis-server -v

注:目前通过apt-get在线安装的redis-server版本为3.0.6,建议使用离线安装的方式安装 5.0.3版本。

在centos中使用

yum install redis

进行在线安装,如果现实未找到源,则可以先安装epel软件库,如果在执行安装

yum install -y epel-release

....
yum install redis

目前centos中在线安装的redis版本比较低,版本号大约是3.2.12

自启:
在/etc/init.d 目录下创建sh脚本如下:

##!/bin/bash

# chkconfig: 2345 10 90
# description: Start and Stop redis
 
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
 
REDISPORT=6379 #实际环境而定
EXEC=/bin/redis-server #实际环境而定
REDIS_CLI=/bin/redis-cli #实际环境而定
 
PIDFILE=/var/run/redis.pid
CONF="/etc/redis.conf" #实际环境而定
 
case "$1" in
        start)
                if [ -f $PIDFILE ]
                then
                        echo "$PIDFILE exists, process is already running or crashed."
                else
                        echo "Starting Redis server..."
                        $EXEC $CONF
                fi
                if [ "$?"="0" ]
                then
                        echo "Redis is running..."
                fi
                ;;
        stop)
                if [ ! -f $PIDFILE ]
                then
                        echo "$PIDFILE exists, process is not running."
                else
                        PID=$(cat $PIDFILE)
                        echo "Stopping..."
                        $REDIS_CLI -p $REDISPORT SHUTDOWN
                        while [ -x $PIDFILE ]
                        do
                                echo "Waiting for Redis to shutdown..."
                                sleep 1
                        done
                        echo "Redis stopped"
                fi
                ;;
        restart|force-reload)
                ${0} stop
                ${0} start
                ;;
        *)
                echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
                exit 1
esac

设置权限:

chmod +x /etc/init.d/redis



# 尝试启动或停止redis
service redis start
service redis stop


# 开启服务自启动
chkconfig redis on

4. 设置防火墙

如果服务器开启了防火墙,则需要将redis使用的端口号加入防火墙。

ufw allow 6379

注:
开启防火墙 ufw enable
禁用防火墙 ufw disable

5. 客户端连接

1)redis-cli 连接

redis-cli -h 127.0.0.1 -p 6379  -a 密码   --raw

注:如果没有设置密码可以不带-a参数,--raw参数用于解决中文显示乱码问题。

2) 使用RedisDesktopManager

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/212155.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

市面上的AR眼镜:优缺点分析

AR眼镜是近年来备受关注的科技产品之一。它通过将虚拟信息叠加到现实世界中,为用户提供全新的视觉体验。目前,市面上的AR眼镜主要分为两类:消费级AR眼镜和企业级AR眼镜。 消费级AR眼镜 消费级AR眼镜的特点是轻便、时尚、易于佩戴&#xff0…

安装获取mongodb

目录 本地安装 获取云上资源 获取Atlas免费数据库 本地连接数据库 在Atlas中连接数据库 本文适合初学者或mongodb感兴趣的同学来准备学习测试环境,或本地临时开发环境。mongodb是一个对用户非常友好的数据库。这种友好,不仅仅体现在灵活的数据结构和…

从原理到实现教你做一个Code Interpreter

▼最近直播超级多,预约保你有收获 近期直播:《基于从原理到实现教你做出一个 Code Interpreter》 —1— Code Interpreter 技术架构剖析 Code Interpreter 是“一个实验性的 ChatGPT 模型”,它将 Python 代码写入 Jupyter Notebook&#xff…

爬虫学习(三)用beautiful 解析html

安装库 import requests from bs4 import BeautifulSoup headers {"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0"} for start_num in range(0,250…

python安装与配置:在centos上使用shell脚本一键安装

介绍 Python是一种功能强大且广泛使用的编程语言,但在某些情况下,您可能需要安装和配置特定版本的Python。本教程将向您展示如何使用一个Shell脚本自动完成这个过程,以便您可以快速开始使用Python 3。 使用shell自动化安装教程 1. 复制脚本…

掌握JavaScript的数学与时间魔法:Math和Date对象详解

​🌈个人主页:前端青山 🔥系列专栏:JavaScript篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来JavaScript篇专栏内容:JavaScript-Math和Date对象详解 目录 Math对象(Math对象不能new!!!!) …

ubuntu22.04离线手动安装openstack yoga和ceph quincy

目录 写在前面材料准备一. OpenStack部1. 创建虚拟网络和虚拟机2. 配置离线环境3. 环境准备3.1 配置网络3.2 配置主机名并配置解析3.3 时间调整3.4 安装openstack客户端3.5 安装部署MariaDB3.6 安装部署RabbitMQ控制节点操作3.7 安装部署Memcache控制节点操作 4. 部署配置keyst…

etlbox.3.1.0 for NET 轻量级 ETL数据集成库 Crack

适用于 .NET 的轻量级 ETL(提取、转换、加载)工具箱和数据集成库 高度可定制 厌倦了使用几乎不可能实现复杂需求的用户界面?使用 ETLBox,可以轻松编写适合您独特需求的代码。插入您自己的逻辑或修改现有行为以满足您的特定要求。 …

SpringCloud Gateway

目录 一、gateway简介二、gateway快速入门2.1 引入依赖2.2 编写启动类2.3 编写基础配置和路由规则 三、断言工厂四、过滤器工厂4.1 路由过滤器的种类4.2 请求头过滤器4.3 默认过滤器 五、全局过滤器5.1 全局过滤器作用5.2 自定义全局过滤器5.3 过滤器执行顺序 六、跨域问题6.1 …

思维导图应用程序:iThoughts 6.5 Crack

为什么选择 iThoughts? 有很多思维导图应用程序。他们中的许多人都非常好。那么您为什么要考虑 iThoughts? 免责声明:我创建了 iThoughts - 这是我过去 12 年的生活 - 我有点偏见! 大多数思维导图应用程序都提供相同的基本功能级…

【每日OJ —— 572. 另一棵树的子树】

每日OJ —— 572. 另一棵树的子树 1.题目:572. 另一棵树的子树2.解法2.1.算法讲解2.2.代码实现2.3.提交通过展示 1.题目:572. 另一棵树的子树 2.解法 2.1.算法讲解 通过深度优先遍历,来判断二叉树root的每个节点的值是否和subRoot的每个节点…

微服务实战系列之MemCache

前言 书接前文,马不停蹄,博主继续书写Cache的传奇和精彩。 Redis主要用于数据的分布式缓存,通过设置缓存集群,实现数据的快速响应,同时也解决了缓存一致性的困扰。 EhCache主要用于数据的本地缓存,因无法保…

git-6

1.如何用project管理issue? 用project看板管理issue 有五种类型:None、Basic kanban、Automated kanban、Automated kanban with reviews、Bug triage 首先选用Bug triage 利用看板就会很直观,很便捷,Issues也支持,有…

一文搞懂设计模式之责任链模式

大家好,我是晴天。我们又见面了,本周我们继续学习设计模式,本周将同大家一起学习责任链模式。 场景引入 我们回想一下自己曾经经历过的考学场景,我们是如何一步一步考上大学的(为了简化过程只提取核心环节&#xff09…

【超全】React学习笔记 中:进阶语法与原理机制

React学习笔记 React系列笔记学习 上篇笔记地址:【超全】React学习笔记 上:基础使用与脚手架 下篇笔记地址:【超全】React学习笔记 下:路由与Redux状态管理 React进阶组件概念与使用 1. React 组件进阶导读 在掌握了 React 的基…

【halcon】C# halcon 内存暴增

1 读取图片需要及时手动释放 一个6M的图片通过halcon进行加载&#xff0c;大约会消耗200M的内存&#xff0c;如果等待GC回收&#xff0c;而你又在不停的读取图片&#xff0c;你的内存占用&#xff0c;将在短时间内飙升。 2 halcon控件显示图片需要清空。 /// <summary>…

东南大学与OpenHarmony携手共建开源生态,技术俱乐部揭牌成立并迎来TSC专家进校园

11月25日,OpenAtom OpenHarmony(以下简称“OpenHarmony”)项目群技术指导委员会(以下简称“TSC”)与东南大学携手,于东南大学九龙湖校区金智楼一楼报告厅举办了“东南大学OpenHarmony技术俱乐部成立仪式暨OpenHarmony TSC专家进校园”活动。此次盛会标志着OpenHarmony开源社区和…

MATLAB 自抗扰控制 - Active Disturbance Rejection Control

系列文章目录 MATLAB 模型参考自适应控制 - Model Reference Adaptive Control 文章目录 系列文章目录前言一、控制器结构1.1 一阶逼近1.2 二阶逼近 二、指定控制器参数参考 前言 自抗扰控制 (ADRC) 是一种无模型控制方法&#xff0c;适用于为具有未知动态特性以及内部和外部…

【深度学习】Adversarial Diffusion Distillation,SDXL-Turbo 一步出图

代码&#xff1a; https://huggingface.co/stabilityai/sdxl-turbo 使用 SDXL-Turbo 是SDXL 1.0的精炼版本&#xff0c;经过实时合成训练。SDXL-Turbo 基于一种称为对抗扩散蒸馏 (ADD) 的新颖训练方法&#xff08;请参阅技术报告&#xff09;&#xff0c;该方法允许在高图像质…

linux防火墙NAT表原理及实操

目录 一、iptables保存规则 1、持久保存iptables规则 2、加载规则 3、开机自动重载规则 二、自定义链 1、创建自定义链 2、修改自定义链名 3、创建规则 4、删除自定义链 三、NAT表 1、SNAT 2、DNAT 一、iptables保存规则 使用iptables命令定义的规则&#xff0c;都…