linux安装redis、ununtu和centos等类似的发行版安装redis,完全离线安装reids,自定义版本redis
redis各个版本源码包下载:Index of /releases/ (redis.io)
下载与解压
从Index of /releases/ (redis.io)选择自己需要的版本并下载(此处以redis-6.2.14.tar.gz
为例,其他版本可能会不同)。
将文件上传到linux服务器,使用命令tar -zxvf redis-6.2.14.tar.gz
解压。
命令会将压缩包解压到如下位置
安装
cd redis-6.2.14
进入解压后的路径,目录结构如下所示,可以看到一个README.md
文件,盲猜一波这里面一定有安装说明,然我们使用记事本(推荐用typora打开)打开看看。
打开后全是英文,没关系,找个翻译软件。README.md
中有一个章节叫Installing Redis
用翻译软件翻译一下这一章。
大致内容我总结一下(内容来自微软翻译):
要将 Redis 二进制文件安装到 /usr/local/bin 中,只需使用:
% make install
如果您想使用其他目的地,则可以使用
make PREFIX=/some/other/directory install
make install 只会在系统中安装二进制文件,但不会在适当的位置配置 init 脚本和配置文件。如果你只是想玩一下 Redis,这不是必需的,但如果你是以正确的方式为生产系统安装它,我们有一个脚本可以为 Ubuntu 和 Debian 系统做到这一点:
% cd utils
% ./install_server.sh
注意:
install_server.sh
在 Mac OSX 上不起作用;它仅适用于Linux。该脚本将询问您几个问题,并将设置正确运行 Redis 所需的一切,作为后台守护程序,该守护程序将在系统重新启动时重新启动。
您将能够使用名为
/etc/init.d/redis_<portnumber>
的脚本停止和启动 Redis。例如:/etc/init.d/redis_6379
。
我们按照这个步骤拉来安装,首先在解压后的路径里./redis-6.2.14
执行make install
命令。等待一会,会打印很多东西。
等待其执行完成
此时redis就已经被安装到/usr/local/bin
目录下面了,可以使用命令ls -laFh /usr/local/bin | grep redis
来查看
这个时候就可以直接运行redis-server
来启动redis了
前台启动
此时我们可以在任意目录下使用命令来启动redis,注意一定要加--ignore-warnings ARM64-COW-BUG
参数
redis-server --ignore-warnings ARM64-COW-BUG
redis启动成功。但是到这里我们还没有完全成功,一般在服务器中安装redis是需要在后台启动,并且需要开机自启的。在这个界面按下ctrl+c结束redis。
后台启动与开机自启
根据README.md
帮助文件中的内容,我们还需要运行utils/install_server.sh
脚本来生成一个自启任务。
cd utils
进入这个文件夹
使用命令./install_server.sh
执行这个脚本,运行后会有些配置需要输入(注意:在输入配置的时候无法使用删除键,必须一次性输入正确。如果输入有误按ctrl+c键重新开始。)。
运行后如果出现如下问题。
使用vim打开
vim install_server.sh
,注释如下内容然后重试
第一个配置是端口,一般默认,直接回车即可。
第二个是配置文件的位置,建议/etc/redis/redis.conf
第三个是日志位置,建议/var/log/redis.log
第四个是数据存放位置,建议/var/lib/redis/data
第五个是redis启动文件的位置,如果redis安装正确,这一项会有默认值,直接回车即可。如果中括号里面是空则表示redis安装不正确,需要重新尝试安装。
执行完成后redis会启动。这个脚本会在/etc/init.d
目录下生成一个启动脚本。进入这个目录看一下里面有什么cd /etc/init.d
。这里面有个一redis_6379
文件,这个就是我们刚刚生成的。
此时先不要着急运行,我们先去修改redis的配置文件。使用vim命令编辑配置文件:
vim /etc/reids/redis.conf
必改配置:找到最后一行ignore-warnings
这一项,把这一行的注释打开(否则无法启动redis)
必改配置:找到daemonize
这一项,选择是否后台启动,值为yes表示后台启动
可选配置:找到bind
这一项配置,根据自己的需求选择是否可以远程连接,把这一行注释掉表示允许远程连接
可选配置:找到requirepass
这一项,根据自己的需求选择是否使用连接密码,注释这一行表示不使用密码,如下图所示表示启用密码,将密码写在requirepass后面(注意:如果你修改了密码,那么还需要修改/etc/init.d/redis_6379
文件,后面会讲解)
常用的配置就这些,你也可以根据自己的需求修改其他配置。修改完成后保存文件。
下面我们开始配置/etc/init.d/redis_6379
文件,如果你没有启用密码则可以忽略这一步。
首先我们进入目录cd /etc/init.d
。使用vim打开这个文件vim redis_6379
。
/etc/init.d
这个目录是用来干什么的,这个目录下的脚本文件会在linux开启的时候自动执行,一般用来配置一些开机自启的软件。这个目录下有一个README
文件,感兴趣的小伙伴可以打开看看,里面有使用的帮助。我们可以使用
service [/etc/init.d目录下的脚本名] [start、stop或restart]
来控制指定软件的启动或停止。注意:不同的linux发行版可能有所不同,本人只在centos、ubuntu以及银河麒麟发行版做过测试,其他发行版不保证。
在开头部分声明一个变量PASSWORD
,值就是你刚刚配置的redis登录密码
找到stop阶段,把红色方框的内容添加进去-a $PASSWORD
这一堆操作到底是干了什么?默认的redis停止方式是直接使用指令redis-cli -p 6379 shutdown
,但是如果密修改了登录密码,那么默认的停止指令就无法登陆客户端了,所以我们必须把密码参数加上,变成这样redis-cli -p 6379 -a 你的密码 shutdown
。
下一步就可以正常启动redis了
使用启动指令
service redis_6379 start
# 或者
/etc/init.d/redis_6379 start
在重启linux服务器的时候redis会自动启动。
在启动的时候如果出现这个问题,可以尝试把这个文件删除掉
rm /var/run/redis_6379.pid
,然后重新启动redis。这个文件存放的是redis的进程id,当我们启动的时候会先判断一下redis的进程id是否存在,如果存在则表示redis正在运行,所以不会启动。但是当服务器异常关机的时候,这个redis_6379.pid文件可能不会被清空,这样就导致启动脚本误认为redis还在运行。
彻底解决这个问题有两种方式,第一种是修改启动脚本用命令判断进程id是否在运行,第二种方式是弃用启动脚本改为系统服务(systemctl)方式控制自启
查看状态、重启与停止
查看启动状态
service redis_6379 status
# 或者
/etc/init.d/redis_6379 status
# 或者使用ps查看进程
ps -ef | grep redis
重启命令
service redis_6379 restart
# 或者
/etc/init.d/redis_6379 restart
停止命令
service redis_6379 stop
# 或者
/etc/init.d/redis_6379 stop
linux安装redis、ununtu和centos等类似的发行版安装redis,完全离线安装reids,自定义版本redis的更多相关文章
- ubuntu中安装软件包问题 ------有一些软件包无法被安装。如果您用的是 unstable 发行版。。。
在ubuntu中安装软件包提示 有一些软件包无法被安装.如果您用的是 unstable 发行版,这也许是因为系统无法达到您要求的状态造成的.该版本中可能会有一些您需要的软件包尚未被创建或是它们已被从新 ...
- 阿里云服务器下安装配置 vsftpd —— 基于CentOS 6.3 【简洁版】
原文链接:http://www.tuicool.com/articles/nuiQBja 1.更新yum源 我是直接 yum update 更新的 2.安装vsftp 使用yum命令安装vsftpd ...
- 安装配置和使用HBASE Cluster(基于发行版CDH5.0.2)——系列随笔
本系列文章只是记录了笔者本人在学习实验安装和使用基于CDH5.0.2的HBASE集群过程中的一些经验教训和心得,绝不是详细的安装过程,因本人不过一初学者,很多方面不甚了了,如果能让不幸读到的人有所得则 ...
- 设置Win10默认启动的Linux子系统版本,启动指定Linux发行版
设置Win10默认启动的Linux子系统版本,启动指定Linux发行版 MS酋长一年前已经与大家分享了启用“适用于Linux的Windows子系统(WSL)”的方法,但当时所能安装的只有由Cano ...
- Windows 7硬盘安装CentOS 6.4 双系统 (WIN7硬盘安装Linux(Fedora 16,CentOS 6.2,Ubuntu 12.04))
WIN7下硬盘安装Linux(Fedora 16,CentOS 6.2.Ubuntu 12.04) 近期在看<鸟哥私房菜:基础学习篇>.认为非常不错,想要用U盘装个windows 7 和 ...
- Windows 7硬盘安装CentOS 6.4 双系统 (WIN7下硬盘安装Linux(Fedora 16,CentOS 6.2,Ubuntu 12.04))
WIN7下硬盘安装Linux(Fedora 16,CentOS 6.2,Ubuntu 12.04) 最近在看<鸟哥私房菜:基础学习篇>,觉得很不错,想要用U盘装个windows 7 和 ...
- 安装基于 Linux 发行版的重要事项(流程指引)
安装基于 Linux 发行版的重要事项(Install important issues based on the Linux distribution. (Process guidance)) 1. ...
- 在各种Linux发行版上安装Git的教程
Git是一个流行的开源版本控制系统(VCS),最初是为Linux环境开发的.跟CVS或者SVN这些版本控制系统不同的是,Git的版本控制被认为是“分布式的”,某种意义上,git的本地工作目录可以作为一 ...
- CentOS 离线安装Gitlab-ce
1. 上gtilab的官网,找了一下安装说明.. 首先安装 依赖的包 sudo yum install -y curl policycoreutils-python openssh-server cr ...
- 2016 最佳 Linux 发行版排行榜
2015年,不管在企业市场还是个人消费市场都是 Linux非常重要的一年.作为一个自2005年起就开始使用 Linux的 Linuxer ,我门见证了 Linux在过去十年的成长.2016 Linux ...
随机推荐
- 【算法】游戏中的学习,使用c#面向对象特性控制游戏角色移动
最近,小悦的生活像是一首繁忙的交响曲,每天忙得团团转,虽然她的日程安排得满满当当,但她并未感到充实.相反,她很少有时间陪伴家人,这让她感到有些遗憾.在周五的午后,小悦的哥哥突然打来电话,他的声音里充满 ...
- frida动态插桩初探
前言 近期碰到了分析app的需求,就学习了一下 frida的动态插桩技术.frida是一款轻量级HOOK框架,可用于多平台上,例如android.windows.ios等.frida分为两部分,服务端 ...
- `.NET Web`新人入门必学项目`EarthChat`
.NET Web新人入门必学项目EarthChat EarthChat是一个基于.NET 7的实战项目,EarthChat提供了很多的最佳实践,EarthChat的目标也是成为一个很多人都喜欢的大型聊 ...
- 🔥🔥你以为你了解TCP协议?这些你可能不知道的细节才是关键!
引言 在之前的内容中,我们已经详细讲解了TCP面试中最常见的问题,如三次握手和四次挥手等.而今天,我们将继续深入探讨TCP协议的其他方面,比如序列号和TCP Fast Open(TFO)等重要细节问题 ...
- Redis宕机恢复
AOF(Append Only File) Redis持久化:AOF日志 用 AOF 方法进行故障恢复的时候,需要逐一把操作日志都执行一遍.如果操作日志非常多,Redis 就会恢复得很缓慢,影响到正常 ...
- DataGrip安装与使用
写在前面:同学们记得以命令为主,图形界面为辅.了解图形怎么操作即可 一.DataGrip软件的安装和初始化 首先在浏览器上搜索datagrip,然后打开连接 点击DOWNLOAD 按照你电脑系统来 ...
- 初窥门径,从大模型到内容生成看AI新次元
视频云AI进化新纪元. 最近Gartner发布2024年十大战略技术趋势,AI显然成为其背后共同的主题.全民化的生成式人工智能.AI增强开发.智能应用......我们正在进入一个AI新纪元. 从Cha ...
- 数据库系列:RR和RC下,快照读的区别
数据库系列:MySQL慢查询分析和性能优化 数据库系列:MySQL索引优化总结(综合版) 数据库系列:高并发下的数据字段变更 数据库系列:覆盖索引和规避回表 数据库系列:数据库高可用及无损扩容 数据库 ...
- python数值列表之range()和list()
range() 学习了for循环后,显示数字当然也可以很轻松啦,这个时候我们就可以用到range()函数 for list_2 in range(1, 5): print(list_2) range( ...
- Shell必备三剑客
Top 目录 Sed--三剑客之一 基本格式 选项及含义 命令flags标记及功能 支持正则表达式, 扩展正则表达式 高级命令 命令格式 注意: 命令示例 字符串替换----'s' 行内容替换--'c ...