安装Redis
-
安装redis依赖
-
redis是基于C语言编写的,因此首选需要安装redis所需的gcc依赖
yum install -y gcc tcl
-
-
上传安装包并解压
-
我安装的是redis-6.2.6版本,并且放到了/usr/local/src目录下
-
- 进入/usr/local/src目录
```shell
cd /usr/local/src
```
-
解压
tar -zxvf redis-6.2.6.tar.gz
-
解压后,进入redis目录
cd redis-6.2.6
-
运行编译命令
make && make install
在该目录下,查看README.md文件,可以发现如下内容,即make install命令默认将redis安装到了/usr/local/bin下
-
查看安装目录下的文件
-
redis-cli:是redis提供的命令行客户端 -
redis-server:是redis的服务端启动脚本 -
redis-sentinel:是redis的哨兵启动脚本
启动
默认启动
-
安装完成后,在任意目录下输入redis-server明明即可启动Redis:
redis-server
默认启动方式是前台启动,会阻塞整个回话窗口,窗口关闭或按下Ctrl+c则redis停止。
指定配置启动
若需要将redis以后台方式启动,则必须修改redis配置文件,该配置文件在redis的安装包中,文件名为redis.conf,即刚才解压的包中(/usr/local/src/redis-6.2.6)的redis.conf。
-
备份redis配置文件
cp redis.conf redis.conf.back
-
修改redis.conf文件
# 允许访问的地址,默认是bind 127.0.0.1 -::1,会导致智能本地访问,修改为0.0.0.0,修改为0.0.0.0,则可在任意IP访问,但是不建议生活从那环境设置0.0.0.0
bind 0.0.0.
# 是否守护进程方式运行, yes标识后台运行
daemonize yes
#密码,设置后访问redis需要输入密码
requirepass xxxxxx-
redis其他常见配置
# 监听端口
port 6379
# 工作目录,默认是当前目录,主要是运行redis-server命令后,产生的日志持久化文件等
dir .
# 数据库数量,默认有16个库,编号0-15,设置为1,代表只使用一个库
databases 1
# 设置redis能够使用的最大内存
maxmemory 512mb
# 日志文件,默认为空,不记录日志,
logfile ""
-
-
启动redis
# 进入redis安装目录
cd /user/local/src/redis-6.2.6
# 启动
redis-server redis.conf
#或者
redis-server /usr/local/src/redis-6.2.6/redis.conf -
停止服务
# 利用redis-cli执行shutdown命令,即可停止redis服务
redis-cli -a 密码 shutdown
开机自启
-
新建一个系统服务文件
vim /etc/systemd/system/redis.service
-
redis.service内容
[Unit]
## Description 项被设置为 redis-server,表示该服务单元是 Redis 服务器
Description=redis-server
## 服务应该在网络服务启动之后才开始启动
After=network.target
[Service]
## Type=forking 表示服务需要在后台运行
Type=forking
## 使用 systemd 启动 Redis 服务时在服务单元文件中设置的一个命令,它的作用是启动 Redis 服务。
ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
## PrivateTmp=true 是在使用 systemd 启动服务时在服务单元文件中设置的一个选项,它的作用是为服务提供一个私有的临时文件系统。在 Linux 系统中,临时文件通常存储在 /tmp 目录中,这个目录是所有用户都可以访问的。然而,在某些情况下,服务可能需要创建和使用临时文件,但又不希望这些文件被其他用户访问或影响到其他服务。因此,可以设置 PrivateTmp=true 来为服务提供一个私有的临时文件系统,这样服务就可以独立地创建和使用自己的临时文件了。当 PrivateTmp=true 被设置后,systemd 将为该服务创建一个私有的临时文件系统,在服务启动时,该文件系统将被挂载到 /tmp 目录下。服务将只能看到和访问自己的临时文件,而不能看到和访问其他服务或用户创建的临时文件。当服务停止时,systemd 会自动卸载私有临时文件系统,以确保安全性和稳定性
PrivateTmp=true
[Install]
## WantedBy=multi-user.target 表示该服务应该在系统进入多用户模式时启动。当系统进入多用户模式时,Systemd 将自动启动该服务。
WantedBy=multi-user.target[Unit]
用于描述一个单元的基本属性,如描述服务、套接字、自动挂载点等等。在[Unit]
段落中,可以设置该单元的描述、关联单元、启动顺序、依赖关系、条件等等。[Service] 用于描述一个服务的属性,包括服务的启动方式、执行的命令、用户和组等等。 在
[Service]` 段落中,可以设置服务的启动方式、是否开启私有的临时文件系统、进程最大允许时间、超时控制和环境变量等。[Install]
用于描述服务单元的安装和启动方式。在[Install]
段落中,可以设置该服务单元的启动级别、依赖关系等。通常,该段落只在需要自动启动服务时才会使用。
-
-
重载系统服务
systemctl daemon-reload
-
通过系统服务命令操作redis
# 启动
systemctl start redis
# 停止
systemctl stop redis
# 重置
systemctl restart redis
# 查看状态
systemctl status redis -
设置开机自启
systemctl enable redis
本文由 mdnice 多平台发布