在CentOS7.5下安装配置Redis

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 在CentOS7.5下安装配置Redis,处理用户登录鉴权

By velin 杨伟聪

Redis

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API,对于前端来说,也可以简单的认为它是一个运行在服务端的Storage,用于快速储存的key-value数据库。

我们需要先在服务器上新建一个目录来存放Redis的安装文件

mkdir /home/redis

下载并解压redis安装包

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

使用yum安装gcc依赖,遇到选择,输入y即可

yum install gcc

进入redis解压目录下

cd redis-5.0.2

编译代码

make MALLOC=libc

安装

cd src && make install

查看是否安装成功,在src目录下执行

./redis-server

如果一切正常的话,应该会输出

18685:C 13 Dec 12:56:12.507 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
18685:C 13 Dec 12:56:12.507 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=18685, just started
18685:C 13 Dec 12:56:12.507 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf
                _._                                                 
           _.-``__ ''-._                                            
      _.-``    `.  `_.  ''-._           Redis 4.0.6 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                  
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 18685
  `-._    `-._  `-./  _.-'    _.-'                                  
 |`-._`-._    `-.__.-'    _.-'_.-'|                                 
 |    `-._`-._        _.-'_.-'    |           http://redis.io       
  `-._    `-._`-.__.-'_.-'    _.-'                                  
 |`-._`-._    `-.__.-'    _.-'_.-'|                                 
 |    `-._`-._        _.-'_.-'    |                                 
  `-._    `-._`-.__.-'_.-'    _.-'                                  
      `-._    `-.__.-'    _.-'                                      
          `-._        _.-'                                          
              `-.__.-'                                              
 
18685:M 13 Dec 12:56:12.508 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
18685:M 13 Dec 12:56:12.508 # Server initialized
18685:M 13 Dec 12:56:12.508 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
18685:M 13 Dec 12:56:12.508 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
18685:M 13 Dec 12:56:12.508 * Ready to accept connections 

ok!到此Redis已经基本安装完成,但是现在的运行方式是前台运行,会占用整个终端控制台,所以我们需要它可以以后台方式运行,并且设置开机自启,那么接着看后面的操作,首先,Ctrl+C

添加系统服务

需要先回到根目录下修改redis.conf文件

cd ../
vim redis.conf

daemonize no 修改为 daemonize yes
然后创建并编辑redis启动文件,赋予相关权限

touch /etc/init.d/redis
chmod a+x /etc/init.d/redis
vim /etc/init.d/redis

输入以下内容

#! /bin/bash
# chkconfig: - 85 15
PATH=/home/redis/redis-5.0.2
DESC="redis daemon"
NAME=redis
DAEMON=$PATH/src/redis-server
STOP=$PATH/src/redis-cli
CONFIGFILE=$PATH/$NAME.conf
PIDFILE=$PATH/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
set -e
[ -x "$DAEMON" ] || exit 0
do_start() {
$DAEMON $CONFIGFILE || echo -n "redis already running"
}
do_stop() {
$STOP shutdown || echo -n "redis not running"
}
do_reload() {
do_stop
do_start
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
do_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
do_stop
echo "."
;;
reload|graceful)
echo -n "Reloading $DESC configuration..."
do_reload
echo "."
;;
restart)
echo -n "Restarting $DESC: $NAME"
do_stop
do_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
exit 3
;;
esac
exit 0

Shift+:输入wq保存退出
进入init.d目录

cd /etc/init.d/

注册成服务,并设置开机启动

chkconfig --add redis
chkconfig redis on

最后查看开机启动列表是否设置成功

chkconfig --list

最后执行启动服务命令验证是否成功

#启动服务
service redis start
#停止服务
service redis stop

如果没有报错。证明已经顺利将redis安装完成,并加入到开机启动服务列表内了。
但是目前只能在服务器上连接到redis,并不能远程连接(虽然为了安全,个人感觉不是很推荐直接放开远程访问权限,比较安全的办法是采用绑定IP的方式来进行控制,或者有需要直接上服务器看就好,哈哈。我一定很愚昧...),那么接着我们来配置远端连接相关操作

远程连接配置

首先,我们先配置我们访问需要的密码。打开redis根目录下的redis.conf文件

cd /home/redis/redis-5.0.0
vim ./redis.conf

Shift+:输入/AUTH <PASSWORD>,查找到修改密码的配置,将requirepass前面的#号去掉,并在后面输入你的密码,如

requirepass xxxxx

至此,密码设置就完成了,接下来我们需要配置远程访问权限。远程访问有两种方式,我分别介绍一下

一、较为保守安全的方法

在redis.conf文件内,查找到如下配置

# bind 127.0.0.1

把# bind 127.0.0.1前面的 注释#号去掉,然后把127.0.0.1改成你允许访问你的redis服务器的ip地址,表示只允许该ip进行访问。

二、较为方便不确定ip访问的方法

将上面开启的ip注释回去,不需要绑定ip地址。
接下来我们只需要查找到protected-mode, 将该配置后面改为no,表示允许公网访问。

接着Shift+:输入wq保存退出,重新启动Redis服务即可

service redis stop
service redis start

到这里,我们已经开启了redis的远程访问以及配置好了redis远程访问的密码
最后,国际惯例,开启远程访问端口,redis的默认端口为6379

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

别忘了在服务器提供商后台页面开启安全组哦~

我们可以尝试一下远程连接。推荐的工具是RedisDesktopManager,我提供了下载地址

链接:https://pan.baidu.com/s/10wdMp9ibgZJyWy_CvstnIg 
提取码:whzk 

使用方式可以自行百度了,就是输入服务器ip地址,端口号,以及密码,点击TEST Connect,如果一切顺利的话,就会提示连接成功!

扩展-基于接口形式的redis用户登录授权效验的简单实现

我们知道现在前后端分离的开发方式已经很普及了,但是可能有些人会比较困惑,这种前后端分离的方式,如何对后端接口做登录效验呢?接口如果没有登录授权效验,那不是谁都可以直接从接口获取数据了?
当然,目前有很多解决方案可以解决该问题,这里我只是分享下我的理解,如有错误,请指出。

其实我实现的思路很简单,就是使用redis定时删除值的方法,在用户登录的时候,将用户id注册进redis内,并设置过期时间。并且用户在规定的时间内再次访问,就更新redis的过期时间。这样,接口就只能在用户登录成功并注册进redis后才能成功调用了。我使用的是eggjs,自己封装了状态管理类和中间件来处理相关登录授权操作。

就这样,关于Redis的内容就到这里了!

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
1月前
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
407 87
|
21天前
|
Ubuntu 安全 Linux
CentOS与Ubuntu中防火墙配置命令集汇
有了这些,你就能遨游在 CentOS 和 Ubuntu 的海洋中,频繁地改变你的防火墙设置,快速地应对各种安全威胁,同时也能保证你的系统可以正常工作。出发吧,勇敢的编程者,随着这些命令集的涌动,扬帆起航,走向安全的网络世界!
68 5
|
1月前
|
Linux
Centos6配置阿里云yum源报错
在CentOS 6配置阿里云Yum源时,可能出现EPEL仓库访问报错(404 Not Found)。解决方法:编辑`/etc/yum.repos.d/epel.repo`文件,将`enabled`和`gpgcheck`参数设为0 ``` 此设置可解决仓库无法访问的问题。
436 29
|
10天前
|
XML Java 应用服务中间件
在centos7.x上安装配置tomcat
本指南介绍了在Linux系统中部署Tomcat服务器的完整流程,包括关闭防火墙与SELinux、安装JDK、下载及解压Tomcat、启动和关闭Tomcat服务,以及配置Tomcat管理功能。同时,详细描述了如何导入项目到Tomcat的webapps目录、修改配置文件,并测试项目访问。通过这些步骤,您可以成功搭建并运行一个基于Tomcat的Web应用环境。
|
2月前
|
关系型数据库 MySQL Linux
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
564 26
|
2月前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
89 10
|
8月前
|
Linux 网络安全 Apache
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
566 1
|
5月前
|
Java
CentOS7.8配置Adoptium-Java17运行环境
本指南介绍如何设置清华镜像源并安装 Temurin-17-JRE 运行环境。首先,编辑 `/etc/yum.repos.d/adoptium.repo` 文件,配置清华镜像源。接着,使用 `yum install -y temurin-17-jre` 命令安装 Temurin-17-JRE,并通过 `java --version` 验证安装成功。相关配置和操作界面截图附后。
149 8
|
5月前
|
网络协议 Java 应用服务中间件
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。
|
8月前
|
NoSQL 数据可视化 Linux
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
本文介绍了Redis的两个可视化管理工具:付费的Redis Desktop Manager和免费的Another Redis DeskTop Manager,包括它们的下载、安装和使用方法,以及在使用Another Redis DeskTop Manager连接Redis时可能遇到的问题和解决方案。
446 1
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装

热门文章

最新文章