redis
# Redis
版本查看
redis-cli --version
1启动
service redis start
1
或者
shell systemctl start redis
停止
service redisd stop
1重启
service redisd restart
1状态查看
service redisd status
1开机自启动
方式1
systemctl enable redis.service
1方式2 Redis安装目录下,有个
utils
子目录里面有个redis_init_script
文件,拷贝到/etc/init.d/
,并命名为redisd
:cp redis_init_script /etc/init.d/redisd
1编辑
redisd
的内容,修改为对应的路径:vim /etc/init.d/redisd
1修改
REDISOIRT
、EXEC
、CLIEXEC
、PIDFILE
、CONF
为对应的配置
外网访问
firewall-cmd --zone=public --add-port=6379/tcp --permanent(开放6379端口)
1- 重启防火墙
systemctl restart firewalld
1其他命令
redis-benchmark
文件是redis性能测试工具redis-check-aof
是redis的AOF文件修复工具redis-check-rdb
是redis的RDB文件检索工具redis-cli
是redis的客户端工具redis-server
是redis的服务器redis-sentinel
是服务器端的一个软连接
# Centos
# 安装
yum安装
yum install redis
1-
yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
1
可以使用下面命令安装最新稳定版本Redis
shell yum --enablerepo=remi install redis
# Ubuntu18.04-server
# 更新依赖
sudo apt update
sudo apt install build-essential tcl
2
# 下载
curl -O http://download.redis.io/redis-stable.tar.gz
# 解压缩
tar xzvf redis-stable.tar.gz
# 进入解压目录
cd redis-stable
# 编译二进制文件
make
# 测试编译
make test
# 安装至系统环境
sudo make install
# 创建配置目录。Redis
配置目录通常位于/etc/
目录中
sudo mkdir /etc/redis
# 复制Redis源存档附带的示例Redis配置文件
sudo cp /tmp/redis-stable/redis.conf /etc/redis
# 配置修改
sudo nano /etc/redis/redis.conf
在文件中,找到supervised
指令。该指令允许您声明一个init系统来管理Redis作为服务,使您可以更好地控制其操作。该supervised
指令默认设置为no
。由于您运行的是使用systemd
初始化的Ubuntu系统,因此将其更改为systemd
/etc/redis/redis.conf
. . .
# If you run Redis from upstart or systemd, Redis can interact with your
# supervision tree. Options:
# supervised no - no supervision interaction
# supervised upstart - signal upstart by putting Redis into SIGSTOP mode
# supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET
# supervised auto - detect upstart or systemd method based on
# UPSTART_JOB or NOTIFY_SOCKET environment variables
# Note: these supervision methods only signal "process is ready."
# They do not enable continuous liveness pings back to your supervisor.
supervised systemd
. . .
接下来,找该dir
指令。此选项指定Redis
将用于转储持久数据的目录。您需要将其更改为Redis
具有写权限且普通用户无法查看的位置。
使用/var/lib/redis
目录;
/etc/redis/redis.conf
. . .
# The working directory.
#
# The DB will be written inside this directory, with the filename specified
# above using the 'dbfilename' configuration directive.
#
# The Append Only File will also be created inside this directory.
#
# Note that you must specify a directory here, not a file name.
dir /var/lib/redis
. . .
# 创建Redis systemd单元文件
为了更好地控制Redis的管理方式,您可以创建一个systemd单元文件,使其可以作为systemd服务。这样做的好处是可以服务器启动时启动Redis。
创建并打开/etc/systemd/system/redis.service
文件:
sudo vim /etc/systemd/system/redis.service
进入后,通过添加服务描述并定义网络要求来启动Unit:
/etc/systemd/system/redis.service
[Unit]
Description=Redis In-Memory Data Store
After=network.target
Service部分用来指定服务行为。出于安全考虑,您不应以root用户身份运行此服务。您应该使用专用的用户和组。
要启动该服务,只需调用redis-server
二进制文件并将其指向您的配置即可。要停止该服务,请使用Redis
shutdown
命令,您可以使用redis-cli
二进制文件执行该命令。此外,由于我们更希望在出现故障的时候Redis
可以尽快的恢复,因此我们将Restart
指令设置为always
:
/etc/systemd/system/redis.service
[Unit]
Description=Redis In-Memory Data Store
After=network.target
[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
最后,添加一个Install
部分。定义应该附加到服务上的systemd
目标(如果它已启用):
/etc/systemd/system/redis.service
Unit]
Description=Redis In-Memory Data Store
After=network.target
[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
[Install]
WantedBy=multi-user.target
# 创建Redis用户,组和目录
首先创建redis用户和组。您可以通过输入以下命令在单个命令中执行此操作
sudo adduser --system --group --no-create-home redis
接下来,输入以下命令创建/var/lib/redis
目录(redis.conf
在步骤2中创建的文件中引用):
sudo mkdir /var/lib/redis
为此目录授予redis用户和组所有权:
sudo chown redis:redis /var/lib/redis
最后,调整权限,阻止普通用户访问此位置:
sudo chmod 770 /var/lib/redis
# 配置详情
注释bind 127.0.0.1 或修改为本机IP
protected-mode no (关闭保护模式)
daemonize yes (开启守护)
requirepass #密码# (设置密码)
pidfile /var/run/redis/redis.pid (pid 文件)
logfile "/var/log/redis/redis.log" (日志文件)
dir /usr/local/redis/data/ (数据文件目录)