Linux centos7安装redis 6.2.14 gz并且使用systemctl为开机自启动

2023-12-13 06:16:50

1.下载 &&? 减压

wget http://download.redis.io/releases/redis-6.2.14.tar.gz

tar -zvxf redis-6.2.14.tar.gz

2.编译(分开运行)

cd redis-6.2.14

make

cd src

make install

安装目录展示

3.redis.conf? 配置更改?

daemonize yes
supervised systemd

bind 0.0.0.0

dir /usr/local/redisdb

? 密码可自行添加

??dir 默认是? ./? 这个是持久化文件,会去etc创建dump.rdb文件储存数据

? 我这里建了自己想要的一个目录

?注意: 如果更改了dir? 必须在对应路径创建好文件夹和rdis的用户和用户组写入权限

3.1? 关于supervised的解释

? ?

  1. supervised no: 这意味着 Redis 不会以任何守护进程方式运行,也就是说它不会在后台运行。这通常用于开发和调试,因为在这种模式下,你可以看到 Redis 的所有输出在终端上。

  2. supervised systemd: 这是在系统中启用 systemd 管理的方式。在这种模式下,你会使用类似 systemctl 的 systemd 工具来启动、停止和管理 Redis 服务。这也允许 Redis 在后台运行。

  3. supervised upstart: 类似于 supervised systemd,这是在使用 Upstart 作为 init 系统的系统上的一种方式。

4.配置自启动

去 cd???/etc/systemd/system 下新建? ?mkdir? ???redis.service文件,并添加以下内容

[Unit]
Description=Redis #描述内容
#在哪些服务启动之后启动
After=syslog.target network.target remote-fs.target nss-lookup.target
?
[Service]
Type=forking
#PIDFile和redis.conf配置中一致
PIDFile=/var/run/redis_6379.pid
ExecStart=/usr/local/redis-6.2.14/src/redis-server /usr/local/redis-6.2.14/redis.conf ?--supervised systemd
#重新加载和停止服务的命令
ExecReload=/bin/kill -s HUP $MAINPID
#ExecStop=/bin/kill -s QUIT $MAINPID
ExecStop=/usr/bin/redis-cli -p 6379 -a ?shutdown
PrivateTmp=true
?
#系统以默认多用户方式启动时,此服务自动运行。
[Install]
#Alias:服务别名
WantedBy=multi-user.target

注意:如果安装其他的版本,可能文件目录都不同?

如果在redis.conf中配置了supervised systemd? 需要在启动后面加上--supervised systemd

5.systemctl? 命令

systemctl daemon-reload ? ? ? ? ? ? ? ? # 加载服务配置文件

systemctl enable redis ? ? ? ? ? ? ? ? ?# 开机自启redis服务

//先运行以上命令


systemctl disable redis ? ? ? ? ? ? ? ? # 取消开机自启
systemctl start redis.service ? ? ? ? ?# 启动redis服务
systemctl stop redis.service ? ? ? ? ? # 停止服务
systemctl restart redis.service ? ? ? ?# 重新启动服务
systemctl status redis.service ? ? ? ? ?# 查看服务当前状态
systemctl list-units --type=service ? ? # 查看所有已启动的服务

注意:手痒,我看日志文件没有创建我就手动创建,然后我想着快照也没有创建,我结果去创建导致启动失败(会自动创建而且我类型创建错了)

6.redis.conf所有配置?


bind 0.0.0.0

protected-mode yes

port 6379

tcp-backlog 511

timeout 0

tcp-keepalive 300
daemonize yes
supervised systemd

pidfile /var/run/redis_6379.pid

loglevel notice

# 日志文件路径
logfile ?/usr/local/redis-6.2.14/redis.log


databases 16

always-show-logo no


set-proc-title yes


proc-title-template "{title} {listen-addr} {server-mode}"

stop-writes-on-bgsave-error yes

rdbcompression yes


rdbchecksum yes


dbfilename dump.rdb


rdb-del-sync-files no


dir /usr/local/redisdb
maxmemory 2GB

replica-serve-stale-data yes

replica-read-only yes


repl-diskless-sync no

repl-diskless-sync-delay 5


repl-diskless-load disabled


repl-disable-tcp-nodelay no


replica-priority 100


acllog-max-len 128


lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no

lazyfree-lazy-user-del no

lazyfree-lazy-user-flush no


oom-score-adj no

oom-score-adj-values 0 200 800


disable-thp yes

appendonly no

appendfilename "appendonly.aof"

appendfsync everysec

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb


aof-load-truncated yes

aof-use-rdb-preamble yes

lua-time-limit 5000

slowlog-log-slower-than 10000


slowlog-max-len 128


latency-monitor-threshold 0

notify-keyspace-events ""

hash-max-ziplist-entries 512
hash-max-ziplist-value 64


list-max-ziplist-size -2


list-compress-depth 0


set-max-intset-entries 512

zset-max-ziplist-entries 128
zset-max-ziplist-value 64


hll-sparse-max-bytes 3000

stream-node-max-bytes 4096
stream-node-max-entries 100

activerehashing yes


client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60

hz 10

dynamic-hz yes

rdb-save-incremental-fsync yes

jemalloc-bg-thread yes

文章来源:https://blog.csdn.net/andrew_dear/article/details/134943971
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。