centos 安装 redis 怎么配置文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos 安装 redis 怎么配置文件相关的知识,希望对你有一定的参考价值。

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

下载

官网下载:http://redis.io/download

安装
tar zxvf redis-2.8.9.tar.gz #解压
cd redis-2.8.9 #进入目录
make #直接make 编译
make install #可使用root用户执行`make install`,将可执行文件拷贝到/usr/local/bin目录下,这样就可以直接敲名字运行程序了

启动(有三种方式)

直接启动

1、执行命令:
./redis-server & #加上`&`号使redis以后台程序方式运行

2、检测
ps -ef |grep redis #检测后台进程是否存在
netstat -lntp | grep 6379 #检测6379端口是否在监听
./redis-cli #使用`redis-cli`客户端检测连接是否正常
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set key "hello world"
OK
127.0.0.1:6379> get key
"hello world"

3、停止
redis-cli shutdown #使用客户端
kill -9 PID #因为Redis可以妥善处理SIGTERM信号,所以直接kill -9也是可以的

通过指定配置文件启动

1、配置文件
可为redis服务启动指定配置文件,配置文件 redis.conf 在Redis根目录下:
daemonize yes #修改daemonize为yes,即默认以后台程序方式运行
port 6380 #可修改默认监听端口,原始为6379,我们修改成了6380
logfile "/home/futeng/logs/redis.log" #修改生成默认日志文件位置#修改生成默认日志文件位置
dir /home/futeng/data/redisData #修改生成默认日志文件位置

2、启动时指定配置文件
redis-server ./redis.conf #指定目录中某个配置文件
redis-cli -p 6380 #如果更改了端口,使用`redis-cli`客户端连接时,也需要指定端口

其他启停同 直接启动 方式。配置文件是非常重要的配置工具,随着使用的逐渐深入将显得尤为重要,推荐在一开始就使用配置文件。

使用Redis启动脚本设置开机自启动

1、启动脚本
推荐在生产环境中使用启动脚本方式启动redis服务,启动脚本redis_init_script 位于位于Redis的 /utils/ 目录下:
#大致浏览下该启动脚本,发现redis习惯性用监听的端口名作为配置文件等命名,我们后面也遵循这个约定。#redis服务器监听的端口
REDISPORT=6379
#服务端所处位置,在make install后默认存放与`/usr/local/bin/redis-server`,如果未make install则需要修改该路径,下同。
EXEC=/usr/local/bin/redis-server
#客户端位置
CLIEXEC=/usr/local/bin/redis-cli
#Redis的PID文件位置
PIDFILE=/var/run/redis_$REDISPORT.pid
#配置文件位置,需要修改
CONF="/etc/redis/$REDISPORT.conf"

2、配置环境
根据启动脚本要求,将修改好的配置文件以端口为名复制一份到指定目录,需使用root用户:
mkdir /etc/redis
cp redis.conf /etc/redis/6379.conf

将启动脚本复制到/etc/init.d目录下,本例将启动脚本命名为redisd(通常都以d结尾表示是后台自启动服务):
cp redis_init_script /etc/init.d/redisd

设置为开机自启动,此处直接配置开启自启动
chkconfig redisd on

将报错误: service redisd does not support chkconfig ,需要我们在启动脚本开头添加如下两行注释以修改其运行级别:

#!/bin/sh
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
#
再设置即可成功。
chkconfig redisd on #设置为开机自启动服务器
service redisd start #打开服务
service redisd stop #关闭服务

更清晰的话可以看下这篇哦http://www.linuxprobe.com/initial-installation-of-redis.html
参考技术A

Redis在centos的安装跟其他Linux版本差不多,通常配置如下(集群版):

port 30000
daemonize yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly no
 
 
loglevel warning
logfile ../logs/redis.log
pidfile ../logs/redis.pid
 
timeout 60
tcp-keepalive 60
 
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ../logs/
 
save 900 1
save 300 10
save 60 100000
 
maxclients 65536
slave-read-only yes

详细的安装步骤及相关注释见:http://vimsky.com/article/248.html

阿里云ECS CentOS 8 安装配置Redis

本文主要记录在船新的CentOS 8中安装配置.NET Core运行环境以及配合使用的Redis,Redis的安装配置相对比较简单,综合了网上的教程进行实践,并最终完成配置正常使用。废话不多说,开始!

一、安装Redis

1、安装
yum install redis
2、查询本次安装的版本(主要用于查看Redis所有文件位置)
rpm -qa|grep redis

结果:redis-5.0.3-1.module_el8.0.0+6+ab019c03.x86_64

3、查询安装位置
rpm -ql redis-5.0.3-1.module_el8.0.0+6+ab019c03.x86_64

文件目录

4、开启Redis Server
cd /usr/bin
redis-server

开启服务

至此,Redis Server已经可以启动了!

5、客户端连接 Redis Server

开启一个新的Linux连接窗口。此处为连接本地的Redis,故无需带上ip以及端口参数

cd /usr/bin
redis-cli

开启客户端

本地客户端连接也是正常的!

二、远程连接Redis

1、配置

完成以上步骤,仅仅是在本地连接上能够使用,一旦使用外部调用,则无法使用。此处外部设备操作系统为win10,其他的根据自身情况度娘设置。其次,在外部连接之前,先配置阿里云ESC 安全组配置,添加Redis端口安全组,默认端口为6379

问题①:在不进行配置的情况下,直接连接远程端Redis Server会报如下错误:

(error) DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, 
no authentication password is requested to clients. In this mode connections are only accepted from the loopback 
interface. If you want to connect from external computers to Redis you may adopt one of the following solutions: 1)
 Just disable protected mode sending the command \'CONFIG SET protected-mode no\' from the loopback interface by 
connecting to Redis from the same host the server is running, however MAKE SURE Redis is not publicly accessible 
from internet if you do so. Use CONFIG REWRITE to make this change permanent. 2) Alternatively you can just disable 
the protected mode by editing the Redis configuration file, and setting the protected mode option to \'no\', and then
 restarting the server. 3) If you started the server manually just for testing, restart it with the \'--protected-mode
 no\' option. 4) Setup a bind address or an authentication password. NOTE: You only need to do one of the above things
 in order for the server to start accepting connections from the outside.

此处大致意思为:配置中 protected-mode属性为yes,即当前处于保护模式下,无法连接。我们需要设置其为no

问题②:无法操作远程Redis,进行Redis操作报错:

Error: 在驱动器 %1 上插入软盘。

此处问题进行密码设置即可。

以上问题的解决方法

本地客户端连接情况下,进行如下操作:

a、打开Redis配置文件Redis.conf
cd /etc
vim redis.conf

按下键盘i进入编辑模式

找到如下参数,并修改:

针对问题①的修改:

bind 127.0.0.1  	 //行数:69   =》修改为#bind 127.0.0.1 
protected-mode yes      //行数:89  =》修改为protected-mode no
daemonize yes 	        //行数:137  =》修改为daemonize no //设置为no则不作为后台运行,否则后台运行

问题①设置示例

针对问题②的修改:

# requirepass foobared   //行数:508  =》在508行下添加与行,内容为requirepass code6076..

问题②设置示例

b、保存配置文件并退出

按下键盘esc退出编辑模式,然后按shift + : 键,再录入wq,回车即可。

c、重新启动Redis Server
redis-server /etc/redis.conf

此处进行Redis服务器启动并指定配置文件,以应用我们改的配置。

注:如果上面设置daemonize参数

为no时,回车后,效果如下:(为空白,实则已经非后台执行,当前控制台已被占用)

daemonize no

为yes时:回车后,效果如下:(后台执行,可继续操作)

daemonize yes

2、连接

以Windows 10 为例,连接方式如下:

D:\\WorkSpace\\Redis\\redis-cli -h x.x.x.x -p 6379 -a code6076..

连接测试

3、设置开机自启

启动服务

systemctl start redis

如果开启服务出现任何输出,则需要根据提示,根据日志进行配置,我就遇到了redis日志权限不足。有类似情况使用如下命令: chown redis:redis /var/log/redis/redis.log
报错如下图:
开启服务报错

设置自启

systemctl enable redis

然后重启服务器

reboot

重启完成后,查看状态:

systemctl stutas redis

大功告成!

以上是关于centos 安装 redis 怎么配置文件的主要内容,如果未能解决你的问题,请参考以下文章

Centos 7 安装redis,修改配置文件不生效外网不能访问。

配置Redis群集

基于centos 7的Redis群集原理及配置

阿里云ECS CentOS 8 安装配置Redis

mac与centos下redis的安装与配置

centOS-安装redis及配置检查