专栏首页网络小说作家的编程技术沉思录在Linux环境安装redis步骤,且设置开机自动启动redis

在Linux环境安装redis步骤,且设置开机自动启动redis

最近一直在学习redis相关知识,看了很多理论知识后,觉得还是要多动手操作,就如王阳明说的知行合一那样,因此,便决定在linux环境安装了redis,过程捣鼓了一番,也遇到了一些波折,但最后还是成功安装完成,顺便把步骤流程记录了下来,分享给有需要的小伙伴。

1.首先,我在linux的/usr/local/localsoftware/目录下,创建了一个存放redis安装包的文件夹,可按照以下指令进行执行:

cd  /usr/local/localsoftware/
mkdir redis

2.创建好叫redis的文件夹后,可进入到该文件夹下,通过wget进行下载redis安装压缩包:

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

3.解压命令:tar zxvf redis-4.0.8.tar.gz

4.解压完成后,直接进入到解压之后的文件夹:cd redis-4.0.8

5.在redis目录里,执行make

若出现“gcc:命令未找到”,说明linux虚拟机还没有安装gcc

这时执行指令:yum install gcc-c++安装成功后,再执行一次make,出现以下信息

执行:make distclean

再执行一遍:make,执行完成没报错话,查看一下gcc的版本:

能查看到gcc版本后,执行命令:make install

进入bin目录:cd /usr/local/bin,发现已经安装完成redis

在主系统下,创建一个文件夹,MyRedis

进入到先前解压redis压缩包的文件夹redis-4.0.8里:cd /usr/local/localsoftware/redis/redis-4.0.8

复制目录下的redis.conf文件到MyRedis文件夹里:cp redis.conf /MyRedis/

进入到/MyRedis/目录下,编辑redis.conf文本,设置daemonize yes,代表开启了守护进程模式,即redis会在后台运行,若要设置成开机启动redis状态,这里必须设置为yes,之后按Esc后输入“:wq”进行保存退出。

执行命令:ps -ef|grep redis,查看redis服务是否已经启动。

回到主系统,执行redis-server /MyRedis/redis.conf

再开一个页面,执行:redis-cli -p 6379,进入到redis客户端,测试一下,可以正常运行,即启动成功。

设置linux虚拟机开机就启动redis。redis启动脚本在压缩包解压文件夹utils目录下,名字为redis_init_script的文件

vim打开执行文件:vim redis_init_script

redis_init_script文件修改以下内容:

1.在脚本的第二行增加:# chkconfig 2345 90 10

该行代码的意思是:redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。

2.设置redis服务端口:REDISPORT=6379

3.修改Redis执行路径,如果默认安装在/usr/local/bin/目录下则不需要修改,我是默认安装在/usr/local/bin/目录下的,因此,就直接复制以下即可:

EXEC=/usr/local/bin/redis-server

CLIEXEC=/usr/local/bin/redis-cli

4.Redis配置端口与文件:

PIDFILE=/var/run/redis_${REDISPORT}.pid

CONF="/etc/redis/${REDISPORT}.conf"

修改完后的文件内容如下:

#!/bin/sh
#chkconfig: 2345 90 10
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli

PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"

进入到Redis 解压目录下,创建目录etc/redis

复制redis.conf到目录etc/redis的6379.conf里

可以看到该目录下已经有一个6379.conf文件:

修改6379.conf的配置信息:vim /etc/redis/6379.conf

需要修改的内容:

保护模式: protected-mode yes # 需要修改为 no ,修改之后, Redis 服务将会在后台运行

绑定 ip: bind 127.0.0.1 # 默认监听本机 Redis, 修改为 bind 0.0.0.0 之后即可远程连接 Redis

线程保护: daemonsize: no # 默认关闭,需要将其修改为 yes

日志文件: logfile “” #默认在控制台打印,不会记录到文件,可以指定日志文件路径(日志文件的目录必须提前创建) :(log是log.log文件)

logfile "/usr/local/redis/logs/log"

数据持久化目录 dir ./ # 默认数据保存在当前目录,可以指定数据保存目录(目录也需要提前创建好),dir /usr/local/redis/datas/

完成以上的配置后,Esc+:wq进行保存退出,再进入到解压redis的目录里:

复制脚本至启动目录(命令在 Redis 解压目录下执行):

cp ./utils/redis_init_script /etc/init.d/redisd

向防火墙添加 Redis 端口、刷新防火墙规则、查询防火墙开放端口

$ firewall-cmd --zone=public --add-port=6379/tcp --permanent

$ firewall-cmd --reload

$ firewall-cmd --zone=public --list-port

置开机自动启动:chkconfig redisd on

开启 Redis 服务:service redisd start

如果到这一步没有报错就可以reboot重启来验证了:

ps -ef |grep redis

netstat -lntp | grep 6379

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何写出一个性能优化的单例模式

    单例模型是面试当中最常见的一种设计模式,它是一种对象创建模式,用于产生一个对象的具体实例,可以确保系统中一个类只产生一个实例。

    朱季谦
  • Activiti工作流框架学习笔记(二)之springboot2.0整合工作流Activiti6.0

    以前在工作当中做过不少与工作流Activiti有关的工作,当时都是spring集成activiti5.22的项目,现在回过头去看,其实版本已经稍微老了,因此,基...

    朱季谦
  • uni-app如何解决在for循环里调用异步请求获取数据顺序混乱问题?

    先前有一次做uni-app的js接口对接时,遇到过这样的情况,在for循环里,调用一个异步请求时,返回来的值顺序是乱的,因此,在以下的代码里,push到数组里的...

    朱季谦
  • Ubuntu 安装 Redis

    Redis,is an open source, BSD licensed, advanced key-value store. It is often ref...

    阳光岛主
  • Docker -v 对挂载的目录没有权限 Permission denied

    可以通过docker inspect命令,查看容器“Mounts”那一部分,我们可以得到这个问题的答案。

    hbbliyong
  • 使用redis为Typecho博客加速

    REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是...

    小柒吃地瓜
  • redis-基本介绍与linux安装

    HyperLogLog:超小内存唯一值计数,12kb HyperLogLog,本质是字符串

    suwanbin
  • 05. SpringCloud实战项目-Docker安装mysql

    Jackson0714
  • docker安装redis

    Jackson0714
  • redis单机版,集群版,jedis

    redis是一个开源的key-value数据库。主要用来做数据缓存,本篇文章介绍redis的单机搭建,进而到redis的集群搭建,刚接触的可以先搭建单机版的,再...

    聚沙成塔

扫码关注云+社区

领取腾讯云代金券