前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis入门:Linux基础安装

Redis入门:Linux基础安装

作者头像
云飞扬
发布2022-03-24 10:27:22
4990
发布2022-03-24 10:27:22
举报
文章被收录于专栏:星汉技术星汉技术

Redis入门:Linux基础安装

要安装Redis需要准备以下基本的环境。

1 准备工作

本次安装是在Unix类操作系统安装。

1.1 安装环境

Unix类操作系统,可以使用Linux、CentOS等。

此处选择使用CentOS7。

系统中必须提前安装gcc,安装命令如下:

代码语言:javascript
复制
yum install gcc

1.2 关闭防火墙

CentOS 7的防火墙临时命令如下:

代码语言:javascript
复制
#查看状态
systemctl status firewalld.service
#启动防火墙
systemctl start firewalld.service
#重启防火墙
systemctl restart firewalld.service
#临时关闭防火墙
systemctl stop firewalld.service
#禁止防火墙开机自启
systemctl disable firewalld.service

#下面一组操作防火墙的命令也支持:
service firewalld status
service firewalld start
service firewalld restart
service firewalld stop

1.3 创建目录

在规划的目录中创建保存软件的目录。此处的目录规划的为/home/software/

代码语言:javascript
复制
mkdir –p /home/software
cd /home/software

1.4 下载Redis

下载Redis的网址:https://redis.io/download

现在官网提供的最新的稳定版本为6.2.6版本。可以直接在官网下载。下载完成之后,上传到上一步规划的目录中。

另外可以直接在上一步创建的目录中,使用wget进行下载,命令如下:

代码语言:javascript
复制
#下载指定版本:
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
#下载最新版本
wget http://download.redis.io/redis-stable.tar.gz

pwd
/home/software
ls
redis-6.2.6.tar.gz

1.5 解压安装包

解压命令如下:

代码语言:javascript
复制
tar –zxvf redis-6.2.6.tar.gz
ls
redis-6.2.6
redis-6.2.6.tar.gz

2 编译安装

以上的准备工作,做完之后,下面要进行的就是编译安装了,因为不管是那种下载方式,下载的都是Redis的源码,Redis是用C语言编写的,这也是为什么在安装Redis之前需要准备gcc的原因。

下面是安装的命令:

代码语言:javascript
复制
cd redis-6.2.6
#编译安装命令
make

早期的版本使用的安装命令如下:

代码语言:javascript
复制
make && make install

2.1 命令未找到错误

如果没有安装gcc会报找不到一系列命令的错误,例如:

代码语言:javascript
复制
make[2]: 进入目录“/home/software/redis/deps/hiredis”
cc -std=c99 -pedantic -c -O3 -fPIC   -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb alloc.c
make[2]: cc:命令未找到
make[2]: *** [alloc.o] 错误 127
make[2]: 离开目录“/home/software/redis/deps/hiredis”
make[1]: *** [hiredis] 错误 2
make[1]: 离开目录“/home/software/redis/deps”
make: [persist-settings] 错误 2 (忽略)
    CC adlist.o
/bin/sh: cc: 未找到命令
make: *** [adlist.o] 错误 127
[root@lk7 src]# make && make install
    CC Makefile.dep
    CC adlist.o
/bin/sh: cc: 未找到命令
make: *** [adlist.o] 错误 127
[root@lk7 src]# cd ..
[root@lk7 redis]# make
cd src && make all
make[1]: 进入目录“/home/software/redis/src”
    CC adlist.o
/bin/sh: cc: 未找到命令
make[1]: *** [adlist.o] 错误 127
make[1]: 离开目录“/home/software/redis/src”
make: *** [all] 错误 2
[root@lk7 redis]# ls
00-RELEASENOTES  BUGS  CONDUCT  CONTRIBUTING  COPYING  deps  INSTALL  Makefile  MANIFESTO  README.md  redis.conf  runtest  runtest-cluster  runtest-moduleapi  runtest-sentinel  sentinel.conf  src  tests  TLS.md  utils
[root@lk7 redis]# cd ,,
-bash: cd: ,,: 没有那个文件或目录

遇到这个错误,将刚解压的目录删掉,然后进行gcc安装,然后重新解压一份,再进行安装。

3 使用服务

3.1 相关命令

以下命令位于Redis目录中的src目录中。

  • redis-server:是Redis服务器本身,用于启动redis服务。
  • redis-sentinel:Redis Sentinel 可执行文件(监控和故障转移)。
  • redis-cli:Redis的客户端。
  • redis-benchmark:用于检查Redis性能。
  • redis-check-aof和redis-check-rdb(3.0 及以下版本中的redis-check-dump)在数据文件损坏的罕见事件中非常有用。

3.2 目录安排

Redis的这些命令,可以从程序中单独拷贝出来,放入系统已经配置好环境变量的目录中,这样方便使用。

通常将命令移动到/usr/local/bin目录中:

代码语言:javascript
复制
cp redis-server /usr/local/bin/
cp redis-cli /usr/local/bin/
cp redis-sentinel /usr/local/bin/
cp redis-check-aof /usr/local/bin/
cp redis-check-rdb /usr/local/bin/
cp redis-benchmark /usr/local/bin/

通过此步操作,在任何目录都可以直接使用这些命令了。

3.3 启动服务

启动服务的命令如下:

代码语言:javascript
复制
redis-server

启动服务的过程如下:

代码语言:javascript
复制
[root@lk7 ~]# redis-server 
127399:C 02 Jan 2022 14:13:56.412 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
127399:C 02 Jan 2022 14:13:56.412 # Redis version=6.2.6, bits=64, commit=00000000, modified=0, pid=127399, just started
127399:C 02 Jan 2022 14:13:56.412 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
127399:M 02 Jan 2022 14:13:56.413 * Increased maximum number of open files to 10032 (it was originally set to 1024).
127399:M 02 Jan 2022 14:13:56.413 * monotonic clock: POSIX clock_gettime
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 6.2.6 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                  
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 127399
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           https://redis.io       
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

127399:M 02 Jan 2022 14:13:56.413 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
127399:M 02 Jan 2022 14:13:56.413 # Server initialized
127399:M 02 Jan 2022 14:13:56.413 # 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.
127399:M 02 Jan 2022 14:13:56.413 * Ready to accept connections

启动之后可以看到这几个信息:

  • Running in standalone mode(运行在单机模式)
  • Port:6379(服务使用的端口)
  • PID:127399(当前服务的进程ID)

当前的启动方式会一直占用当前连接的输入。所以可以使用以下启动方式,将进程转入后台:

代码语言:javascript
复制
redis-server &

此方式启动之后,再点击回车键,则出现输入提示符,即可正常输入其他命令。

3.4 检查服务

检查服务是否正常工作,有以下几个手段:

使用客户端进行连接测试:

代码语言:javascript
复制
redis-cli ping
PONG

回复PONG表示成功。

还可以使用如下方式:

代码语言:javascript
复制
[root@lk7 redis-6.2.6]# redis-cli 
127.0.0.1:6379> ping
PONG

也可以使用检查进程的方式,对当前服务进行检查:

代码语言:javascript
复制
[root@lk7 redis-6.2.6]# ps -ef | grep redis
root      27259 125266  0 14:40 pts/1    00:00:00 grep --color=auto redis
root     127399 125434  0 14:13 pts/2    00:00:01 redis-server *:6379
  • redis-server:表示redis服务。
  • *:表示所有IP地址都可以访问当前redis服务。如果列出的是一系列ip地址,那么就只有这些列出的IP地址可以访问redis服,除此之外的其他IP地址的请求都会被拒绝。

3.5 停止服务

停止Redis服务,有两种方式:

占用控制台的Redis服务,直接使用Ctrl+C的方式停止即可。

不占用控制台的Redis服务,需要登录客户端执行停止命令进行停止,操作如下:

代码语言:javascript
复制
[root@lk7 ~]# redis-cli 
127.0.0.1:6379> shutdown
33782:M 02 Jan 2022 14:46:21.025 # User requested shutdown...
33782:M 02 Jan 2022 14:46:21.025 * Saving the final RDB snapshot before exiting.
33782:M 02 Jan 2022 14:46:21.026 * DB saved on disk
33782:M 02 Jan 2022 14:46:21.026 # Redis is now ready to exit, bye bye...
not connected> exit
[1]+  完成                  redis-server
[root@lk7 ~]# ps -ef | grep redis
root      34866 125434  0 14:46 pts/2    00:00:00 grep --color=auto redis
[root@lk7 ~]#

此种方式进行服务停止比较友好,它会将redis中的数据进行持久化。

3.6 设置密码

Redis有两种设置密码的方式,一种是永久密码,一种是临时密码。

设置密码一般是为了保证安全,以及使用远程登录。

3.6.1 永久密码

永久密码是通过配置文件进行设置的,具体操作如下:

编辑配置文件redis.conf文件,第901行,将设置密码的选项打开,如下:

代码语言:javascript
复制
899 # command, these will cause requirepass to be ignored.
900 #
901 # requirepass foobared
902 requirepass 123

设置完退出保存。

启动的时候要使用配置文件进行启动,此密码才能生效,启动方式如下:

代码语言:javascript
复制
src/redis-server redis.conf &

在启动命令后加上配置文件,命令中注意路径。

3.6.2 临时密码

临时密码是通过命令设置的,只在本次服务器运行的时候生效,一旦服务重启该密码就失效了。

设置密码的命令如下:

代码语言:javascript
复制
config set requirepass keyword

操作步骤如下:

代码语言:javascript
复制
[root@lk7 redis-6.2.6]# redis-cli 
127.0.0.1:6379> config set requirepass 123
OK
127.0.0.1:6379> exit
[root@lk7 redis-6.2.6]# redis-cli 
127.0.0.1:6379> key *
(error) ERR unknown command `key`, with args beginning with: `*`, 
127.0.0.1:6379> auth 123
OK
127.0.0.1:6379>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022/01/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Redis入门:Linux基础安装
    • 1 准备工作
      • 1.1 安装环境
      • 1.2 关闭防火墙
      • 1.3 创建目录
      • 1.4 下载Redis
      • 1.5 解压安装包
    • 2 编译安装
      • 2.1 命令未找到错误
    • 3 使用服务
      • 3.1 相关命令
      • 3.2 目录安排
      • 3.3 启动服务
      • 3.4 检查服务
      • 3.5 停止服务
      • 3.6 设置密码
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档