前言:最近在阿里云市场中租用了一台ESC,学习和研发用途。操作系统版本为CentOS 7.9 64位,需要配置一些基础环境,其中就包括redis。在此记录下redis的安装和配置过程,方便自己和后来者。

常识:

  1. redis是C语言编写的,因此它运行需要C环境,如果使用redis的服务器中没有C环境则需要安装;
  2. 从官网下载的redis压缩包(redis-*.*.*.tar.gz)可以简单看做是C项目代码,如果我们需要实际使用它需要经过安装和编译两个过程;
  3. redis.conf是redis的配置文件。虽然我们可以在这个配置文件的任意地方配置redis参数(比如requirepass参数),但如果你认真查看这个文件你会发现整个配置文件会根据所配置的功能模块不同而分开,我们所以如果我们在添加或者启用某个配置时也尽量在此区域进行配置;
  4. linux的/usr/local文件夹可以理解为用户级的程序目录,类似于windows的C:\Program Files,一般用户自己编译的软件默认会安装到这个目录下;

下面开始动手吧!

1、从redis官网下载redis压缩包;在链接页面,罗列出了各种历史版本的redis,大家按需下载即可;如果大家不是对最新版的某些新特性要求不高时,下载稳定的老版本即可满足日常使用,本篇博客使用的是redis-5.0.0.tar.gz,建议版本一致。

2、上传redis-5.0.0.tar.gz至/usr/local并解压缩;本步骤涉及两个操作:上传、解压缩和删除压缩包操作。上传指的是将步骤1下载得到的jar包上传至/usr/local文件夹下,市面上有大量上传文件的工具比如:filezilla、Xshell、WinSCP等,酌情选择即可。然后解压缩至当前文件夹并删除压缩包,命令和解压缩后如图:

# 解压缩至当前文件夹
tar -zxvf redis-5.0.0.tar.gz# 删除压缩包
rm -f redis-5.0.0.tar.gz

3、编译并安装redis;分为3个小步骤,所有操作都是在redis或子目录下展开的

3.1检查当前操作系统中是否含有C环境;如果没有,则执行下列命令安装:

yum install gcc-c++

3.2 切换到redis目录下,执行make命令来对解压后的文件进行编译,编译后生成大量的*.obj;

# 切换至redis文件夹
cd ./redis-5.0.0/
# 对解压缩后的redis文件进行编译
make

3.3 切换到redis/src目录下安装redis;依靠步骤3.2生成的内容产生redis-server、redis-cli等可执行文件或sh。

# 切换至redis/src目录
cd ./src/
# 安装redis
make install

4、整理redis文件;一般会将redis常用命令(比如redis-server、redis-cli等可执行文件、SH)和配置文件(redis.conf)按照习惯放置到不同的目录下,比如命令类放置到bin目录,配置类文件放置到etc目录。在redis根目录下新建两个目录:bin和etc。然后将redis根目录下的mkreleasehdr.sh、redis-benchmark、redis-check-aof、redis-cli、redis-server移动到bin,将redis根目录下的redis.conf文件移动到etc目录下;命令和移动后效果如下:

# 创建bin目录
mkdir bin
# 创建etc目录
mkdir etc
# 移动常用内容到bin目录
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server ./bin/
# 移动redis配置到etc目录
mv redis.conf ./etc/

上述命令执行完毕,redis根目录下应该是如下结构,bin和etc是新增的,其它内容为解压缩或编译后生成的:

bin目录内容如下:

etc目录内容如下:

5、到此为止,如果你当前工作目录是redis/bin,那么你就可以通过诸如如下命令,来启动redis;

nohup ./redis-server ../etc/redis.conf &

然后在通过如下方式测试一下是否成功:

常见redis需求:

一、需要密码访问redis;由于redis默认是不需要密码的,如果我们需要密码登录时就需要找到redis/etc/redis.conf文件,搜索requirepass关键字,找到SECURITY区域,在该区域内填写:requirepass 你的密码,比如requirepass 123456。那么你访问redis的时候就需要使用123456这个密码登录后才可以使用redis;记住:只要修改配置文件,都需要重启服务器;

二、 redis的外网访问。能否外网访问取决于三个条件:软件本身允许、应用启动后监听对应端口(默认为6379,可在redis.conf中修改)和安全策略(防火墙或白名单等),简单来说只要是出现了外网不能访问肯定是这三个哪一个出问题了,挨着确认即可解决问题;对于后面两个条件,本次不做讲解,重点说说第一个条件。在redis.conf配置中有两个参数限制了外网访问:bind和protected-mode。如果redis.conf配置是下列状况时就表示只允许本机访问;

bind 127.0.0.1protected-mode yes

那么要解决很简单,注释掉bind和修改yes -> no,如下即可:

# bind 127.0.0.1protected-mode no

本次问了缩小代码篇幅,放到一起展示,实际上是在redis.conf不同位置,请知晓!

三、 redis的开机自启动;关于开启自启动,归纳以下有两种方式:脚本方式 + 配置方式,这两种方式本质都是利用了linux自启动机制,不多做描述,具体命令或脚本如下所示:

1、 配置方式:添加 /usr/local/redis-5.0.0/bin/redis-server  /usr/local/redis-5.0.0/etc/redis.conf 到 /etc/rc.d/rc.local

vi /etc/rc.d/rc.local

2、 脚本方式:通过以下命令编写redis自启动脚本,然后授予权限,最后启动即可:

vim /etc/init.d/redis

脚本内容如下:

#!/bin/sh
# chkconfig: 2345 10 90
# description: Start and Stop redis  REDISPORT=6379 #默认端口
EXEC=/usr/local/redis-5.0.0/bin/redis-server #EXEC:redis文件夹所在的redis-server所在路径
CLIEXEC=/usr/local/redis-5.0.0/bin/redis-cli #CLIEXEC:redis文件夹所在的redis-cli所在路径PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/usr/local/redis-5.0.0/etc/redis.conf" #CONF:redis启动所用的配置文件case "$1" instart)if [ -f $PIDFILE ]thenecho "$PIDFILE exists, process is already running or crashed"elseecho "Starting Redis server..."$EXEC $CONF &fi;;stop)if [ ! -f $PIDFILE ]thenecho "$PIDFILE does not exist, process is not running"elsePID=$(cat $PIDFILE)echo "Stopping ..."$CLIEXEC -p $REDISPORT shutdownwhile [ -x /proc/${PID} ]doecho "Waiting for Redis to shutdown ..."sleep 1doneecho "Redis stopped"fi;;restart)"$0" stopsleep 3"$0" start;;*)echo "Please use start or stop or restart as first argument";;
esac

接下来授予脚本权限 -> 设置开机自启动 -> 启动redis

# 赋予脚本权限
chmod 777 /etc/init.d/redis
# 设置开机自启动:
chkconfig redis on
# 启动redis
service redis start

以上,完了!

linux系统下安装和配置redis(2021版)相关推荐

  1. linux系统查看当前安装字库,Linux系统下安装和配置中文字库的方法

    满意答案 Linux的中文都很难看,那么我们如何在Linux下进行安装和配置中文字库呢? Linux安装开源中文字体的方法 下面以Linux安装开源字库文泉驿为例: C/C++ Code复制内容到剪贴 ...

  2. Linux系统下安装配置 Nginx 超详细图文教程

    Linux系统下安装配置 Nginx 详细教程介绍 一.下载 Nginx 安装包 打开Nginx官网 :http://nginx.org/en/download.html 然后我们找到一个版本,把鼠标 ...

  3. 【Debian 9(Stretch)】linux系统下安装gcc-9.3.0

    [Debian 9(Stretch)]linux系统下安装gcc-9.3.0 0 实验环境 1 下载并解压gcc-9.3.0 2 安装必要的库 2.1 安装大整数运算库gmp 2.1 安装mpfr库 ...

  4. 在linux下怎么安装mysql,手把手教你在Linux系统下安装MySQL

    在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB. 1. 下载并安装MySQL官方的 Yum R ...

  5. linux系统下的oracle数据库,在Linux系统下安装Oracle数据库

    在Linux系统下安装Oracle数据库:1.约定:linux系统为Linux.5.4-server-x86_64,数据库为linux.x64_11gR1_database_1013 linux 在L ...

  6. linux下安装两个nginx教程,在linux系统下安装两个nginx的简单方法

    在linux系统下安装两个nginx的简单方法 发布时间:2017-03-09 12:08 来源:互联网 当前栏目:web技术类 在linux下安装nginx的时候,一般在./configure的阶段 ...

  7. 低配置系统安装 linux,Linux系统的安装和配置

    Linux系统的安装和配置 更新时间:2006年10月24日 00:00:00   作者: Linux,在今天的广大电脑玩家耳中已经不再是那个曾经陌生又遥远的名字,大家提起Linux时,不再是把它当做 ...

  8. jemter在linux上怎么安装_【JMeter之一】在linux系统下安装jmeter

    Apache JMeter是Apache组织开发的基于Java的压力测试工具,因此首先需要安装的是JDK 目前JMeter3.0需要的在JDK1.7及以上版本运行这是需要注意的一点 一.下载JDK 下 ...

  9. Linux系统下网卡网络配置基础

    Ifconfig命令使LINUX核心知道软件回送和网卡这样一些网络接口,这样Linux就可以使用它们.除了上面介绍的这些用法之外,ifconfig命令用来监控和改变网络接口的状态,并且还可以带上很多命 ...

最新文章

  1. ThreadLocal原理分析与使用场景
  2. 安装mysqldb python接口时找不到mysql_config
  3. 【编译原理】让我们来构建一个简单的解释器(Let’s Build A Simple Interpreter. Part 4.)(python/c/c++版)(笔记)
  4. 【Codeforces - 900C】Remove Extra One(思维,STLset,tricks)
  5. 网站关停就没事了?5100万账户文件被盗
  6. python可视化报表制作教程_如何使用Python快速制作可视化报表
  7. StringBuilder和Char[]在平台调用中的差异
  8. web前端之js快速入门(ECMAscript)
  9. /etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc和~/.bash_logout
  10. Android 8.0 学习(4)---Android通用内核
  11. 每个创始人都需要了解的来自 Y Combinator 的 13 个见解
  12. expdp,impdp实现oracle备份及导入(一)
  13. 大陆身份证号码正则验证js脚本
  14. 葫芦娃游戏维护服务器怎么办,葫芦娃一直进不去 无法进入游戏解决方法
  15. Suspense组件
  16. Android 第三方SDK的检测与提取
  17. 生信文献 | TIMER2.0用于分析肿瘤免疫细胞浸润
  18. Python 爬虫:把廖雪峰的教程转换成 PDF 电子书
  19. Linux查看mac地址方法(转)
  20. 行转换html,块级、行内、行内元素相互转换

热门文章

  1. Hive篇--搭建Hive集群
  2. 【Android】No resource found that matches the given name 'Theme.Sherlock.Light.NoActionBar'
  3. 算法之路——插入排序篇3:希尔排序
  4. 使用PostSharp进行AOP框架设计:一个简单的原型
  5. 一些弹出框的用法例子(二)
  6. 在PyCharm下使用Jupyter Notebook
  7. 7-104 6翻了 (15 分)
  8. Python 输入一些数,统计最大值及其出现的频率,求一个数的全部质因数
  9. Java(TM) platform SE binary 占用cpu过高
  10. dwz怎么使用数据加载中提示_百度地图数据采集手把手教,从此POI数据不再是愁...