redis
# Redis
版本查看
redis-cli --version1启动
service redis start1
或者
shell systemctl start redis
停止
service redisd stop1重启
service redisd restart1状态查看
service redisd status1开机自启动
方式1
systemctl enable redis.service1方式2 Redis安装目录下,有个
utils子目录里面有个redis_init_script文件,拷贝到/etc/init.d/,并命名为redisd:cp redis_init_script /etc/init.d/redisd1编辑
redisd的内容,修改为对应的路径:vim /etc/init.d/redisd1修改
REDISOIRT、EXEC、CLIEXEC、PIDFILE、CONF为对应的配置
外网访问
firewall-cmd --zone=public --add-port=6379/tcp --permanent(开放6379端口)1- 重启防火墙
systemctl restart firewalld1其他命令
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 redis1-
yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm1
可以使用下面命令安装最新稳定版本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/ (数据文件目录)