1.3 云服务器安装和使用Redis

目录

[1.3 云服务器安装和使用Redis](#1.3 云服务器安装和使用Redis)

[1.3.1 安装](#1.3.1 安装)

[1.3.2 启动](#1.3.2 启动)

[1.3.2.1 前段模式启动](#1.3.2.1 前段模式启动)

[1.3.2.2 后端模式运行](#1.3.2.2 后端模式运行)

[1.3.2.3 可视化工具连接](#1.3.2.3 可视化工具连接)

[1.3.2.4 启动多个Redis进程](#1.3.2.4 启动多个Redis进程)

方法1:

方法2(推荐此方法):

[1.3.3 停止](#1.3.3 停止)


1.3 云服务器安装和使用Redis

1.3.1 安装

  1. 下载安装包
    去官网下载自己想要的版本 https://download.redis.io/releases/

  2. 安装编译依赖
    Redis 是 C 语言开发的,编译安装前需要先安装 gcc 等编译工具,否则后续会编译失败。

    CentOS 系统安装编译依赖
    yum install -y gcc gcc-c++ make wget

3.上传安装包到服务器

4.解压安装包

复制代码
#解压到当前目录,生成 redis-5.0.14 文件夹
#那个目录运行就解压到那个目录里
tar -zxvf redis-5.0.14.tar.gz

5.编译Redis源码

进入解压后的Redis目录

复制代码
cd redis-5.0.14

进行编译

复制代码
make

出现LINK这些内容就是安装成功。

6.安装

安装到指定目录,如 /usr/local/redis。如果不加PREFIX,那么就会安装到/usr/local/bin(系统默认的 PATH 路径,有些软件默认就是安装到这里,如果不指定,就会非常混乱)

复制代码
make PREFIX=/usr/local/redis install

在解压后的Redis执行这个命令

7.复制配置文件到安装目录下

redis.conf是redis的配置文件,redis.conf在redis源码目录。

复制代码
#1. 创建 conf/data/log 目录(用于放配置、数据、日志)
mkdir -p /usr/local/redis/{conf,data,log}
#2. 拷贝配置文件到 conf 目录
cp /usr/local/src/redis/redis-5.0.14/redis.conf /usr/local/redis/conf/

安装目录bin下的文件列表

Redis3.0新增的redis-sentinel是redis集群管理工具可实现高可用。

8.设置密码

想设就设,不设危险。修改安装目录下的配置文件。

在 redis.conf 中找到这一行:

复制代码
requirepass foobared

取消注释并设置一个强密码,比如:

复制代码
requirepass your_strong_password

重新启动Redis即可

复制代码
#先停止当前运行的 Redis
redis-cli shutdown
#在启动即可

9.设置Redis可远程访问

3.0及更早的版本默认允许,4.0后的版本需要手动设置。

修改安装目录下的配置文件

取消注释上面的内容,修改为

1.3.2 启动

Redis默认端口号是6379,如果是阿里云云服务器需要在阿里云开放对应端口。

如果想要修改端口号,就在修改配置文件里面的内容。

1.3.2.1 前段模式启动

修改配置文件,改为daemonize no,以前端模式启动。

进入bin目录运行

复制代码
./redis-server

使用这种方法运行,不会加载任何自定义配置文件,只会使用 Redis 内置的「默认配置」(这些默认配置是编译时固化在程序里的,不是某个物理文件)。

如果要指定配置文件

就进入上一级目录,Redis目录。运行。

复制代码
cd /usr/local/redis
./bin/redis-server ./conf/redis.conf
1.3.2.2 后端模式运行

修改配置文件,改为daemonize yes,以后端模式启动。

当yes时,指定Redis用作守护进程;即不占用控制台

当no时,指定 redis用作非守护进程;即占用控制台

复制代码
cd /usr/local/redis
./bin/redis-server ./conf/redis.conf

查 "包含 redis 字符串" 的进程(Redis默认使用6379端口)

1.3.2.3 可视化工具连接

可视化工具连接

1.3.2.4 启动多个Redis进程

启动多个redis进程意义:一个redis代表一个redis服务(服务器)。

方法1:

启动时指定端口可在一台服务器启动多个redis进程。

复制代码
cd /usr/local/redis
./bin/redis-server ./conf/redis.conf --port 6380
方法2(推荐此方法):

将现有的redis的安装目录拷贝到一个新的目录下。

复制代码
 cp -R redis6377 redis

修改每个Redis的配置文件,把端口号改成不同的端口号。

分别启动每个Redis目录下的redis-server程序。

查询当前redis的进程:

1.3.3 停止

强行终止 Redis 进程会导致持久化数据丢失,必须通过发送SHUTDOWN命令来正确停止。

复制代码
./bin/redis-cli -p 端口号 -a 密码 shutdown save
  1. Redis无密码

    cd /usr/local/redis
    #执行停止命令,默认停止6379端口的Redis
    ./bin/redis-cli shutdown save
    #如果要停止非默认端口的Redis,需要在命令中指定端口
    ./bin/redis-cli -p 6377 shutdown save

  • shutdown:发送停止指令
  • save:停止前将所有数据持久化保存,避免丢失
  1. Redis有密码
    如果直接使用上面的方法,就会出错。

    (error) NOAUTH Authentication required. 表述:你的 Redis 服务开启了密码验证,而你执行 shutdown save 时没有先登录验证身份,所以被拒绝执行停止操作。
    解决办法有三种。
  • 第一种:在输入命令的时候加上密码(不安全)

    ./bin/redis-cli -a 密码 shutdown save

-a 是 redis-cli 的参数,用来指定连接时的认证密码。
但是这个方法不安全,系统的命令历史记录(比如 history 命令)会把完整的命令保存下来,你的密码会被明文记录。

  • 第二种:用环境变量临时传密码(适合脚本)
    把密码临时存在环境变量里,命令行看不到明文:

    #1. 临时设置环境变量(仅当前终端有效)
    export REDISCLI_AUTH=LSL03699
    #2. 直接执行停止命令,会自动用环境变量里的密码认证
    ./bin/redis-cli shutdown save # 6377端口就加 -p 6377

export 只是把密码临时存在内存里,命令历史(history)里只会看到 export REDISCLI_AUTH=xxxx,看不到真实密码,也不会被 ps 命令查到;

  • 第三种:交互式输入(最推荐,无泄露风险)

    #1. 只连接客户端,不输密码
    ./bin/redis-cli # 如果是6377端口就加 -p 6377,不加默认就是6379
    #2. 连接后再输密码(输入时不会显示明文)
    auth LSL03699
    #3. 执行停止命令
    shutdown save

相关推荐
LSL666_1 小时前
1.4 Redis服务端和客户端
数据库·redis·缓存
LSL666_2 小时前
1.7 Redis多数据库
数据库·redis·缓存
低代码布道师2 小时前
Next.js 16 全栈实战(三):数据库建模与动态菜单实现
开发语言·javascript·数据库
远方16092 小时前
114-Oracle Database 26ai在Oracle Linux 9上的OUI图形界面安装
linux·服务器·数据库·sql·oracle·database
heimeiyingwang2 小时前
向量数据库Milvus的安装部署指南
java·数据库·架构·database
一次旅行2 小时前
缓存介绍和总结
缓存·测试总结
山岚的运维笔记2 小时前
SQL Server笔记 -- 第50章 存储过程
数据库·笔记·sql·microsoft·oracle·sqlserver
LSL666_3 小时前
10 集群
java·开发语言·数据库·redis·集群
TDengine (老段)3 小时前
TDengine IDMP 数据可视化 7. 事件列表
大数据·数据库·人工智能·物联网·时序数据库·tdengine·涛思数据