《Linux运维总结:基于银河麒麟V10+ARM64架构CPU源码编译部署单实例redis7.2.6》

总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:《Linux运维篇:Linux系统运维指南》


一、环境信息

环境信息如下:

主机IP 操作系统 Redis版本 CPU架构
192.168.1.111 Kylin Linux Advanced Server V10 (Tercel) 7.2.6 4.19.90-17.5.ky10.aarch64

二、创建启动用户

bash 复制代码
[root@localhost ~]# groupadd --gid 1301 redis
[root@localhost ~]# useradd -u 1301 -g 1301 -d /home/redis -s /usr/sbin/nologin -m redis

三、编译安装

1、安装环境依赖

bash 复制代码
[root@localhost ~]# yum install gcc make glibc-devel openssl-devel systemd-devel tcl -y

2、安装包下载

bash 复制代码
[root@localhost ~]# wget https://download.redis.io/releases/redis-7.2.6.tar.gz

3、把redis安装到指定目录

bash 复制代码
[root@localhost ~]# tar axf redis-7.2.6.tar.gz
[root@localhost ~]# cd redis-7.2.6
# 启用对systemd的支持
[root@localhost redis-7.2.6]# BUILD_WITH_SYSTEMD=yes
[root@localhost redis-7.2.6]# make install PREFIX=/opt/redis7

说明:这时候,我们就能在/opt/redis7下面看到一个bin目录,redis的可执行文件都被复制到这里。

4、创建配置文件目录、数据目录、日志目录

bash 复制代码
[root@localhost ~]# mkdir /opt/redis7/conf
[root@localhost ~]# mkdir /opt/redis7/data
[root@localhost ~]# mkdir /opt/redis7/logs

5、目录授权

bash 复制代码
[root@localhost ~]# chown redis:redis /opt/redis7 -R
[root@localhost ~]# chmod 755 /opt/redis7

说明:由于银河麒麟V10操作系统新创建目录权限均是最小化,如果你创建的目录是多级目录,请确保redis7的上层目录权限为755,比如,你创建的数据目录为/data/basic-data/redis/data,请确保/data/basic-data/redis/data这四层目录的每一层目录权限均为755。

6、把redis执行文件加入到path中

bash 复制代码
[root@localhost ~]# vim /etc/profile
export REDIS_HOME=/opt/redis7
export PATH=$PATH:$REDIS_HOME/bin
[root@localhost ~]# source /etc/profile

7、修改redis配置文件

参考:redis配置文件详解

bash 复制代码
[root@localhost ~]# cp redis-7.2.6/redis.conf /opt/redis7/conf/redis.conf
[root@localhost ~]# vim /opt/redis7/conf/redis.conf
bind 127.0.0.1 192.168.1.111
protected-mode yes
port 47000
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised systemd
pidfile /var/run/redis.pid
loglevel notice
logfile "/opt/redis7/logs/redis.log"
databases 16
always-show-logo no
set-proc-title yes
proc-title-template "{title} {listen-addr} {server-mode}"
locale-collate ""
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
rdb-del-sync-files no
dir /opt/redis7/data
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync yes
repl-diskless-sync-delay 5
repl-diskless-sync-max-replicas 0
repl-diskless-load disabled
repl-disable-tcp-nodelay no
replica-priority 100
acllog-max-len 128
requirepass JHFkjSXYK6eXF3L3
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 yes
appendfilename "appendonly.aof"
appenddirname "appendonlydir"
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
aof-timestamp-enabled no
 
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-listpack-entries 512
hash-max-listpack-value 64
list-max-listpack-size -2
list-compress-depth 0
set-max-intset-entries 512
set-max-listpack-entries 128
set-max-listpack-value 64
zset-max-listpack-entries 128
zset-max-listpack-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
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
jemalloc-bg-thread yes
ignore-warnings ARM64-COW-BUG

四、配置systemd管理redis

bash 复制代码
[root@localhost ~]# vim /etc/systemd/system/redis.service 
[Unit]
Description=Redis Server
After=network.target
[Service]
User=redis
Group=redis
Type=notify
LimitNOFILE=65535
ExecStart=/opt/redis7/bin/redis-server /opt/redis7/conf/redis.conf
ExecStop=/bin/kill -s QUIT $MAINPID
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

五、启动redis服务

bash 复制代码
[root@localhost ~]#  systemctl daemon-reload && systemctl start redis && systemctl enable redis

总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:《Linux运维篇:Linux系统运维指南》

相关推荐
小安运维日记4 小时前
CKS认证 | Day3 K8s容器运行环境安全加固
运维·网络·安全·云原生·kubernetes·云计算
我是唐青枫4 小时前
Linux ar 命令使用详解
linux·运维·服务器
mljy.5 小时前
Linux《进程概念(上)》
linux
IEVEl5 小时前
Centos7 开放端口号
linux·网络·centos
我要升天!6 小时前
Linux中《环境变量》详细介绍
linux·运维·chrome
MobiCetus6 小时前
有关pip与conda的介绍
linux·windows·python·ubuntu·金融·conda·pip
阿珊和她的猫6 小时前
Manus:通用智能体的架构革命与产业破局
架构·状态模式
Wnq100727 小时前
DEEPSEEK创业项目推荐:
运维·计算机视觉·智能硬件·ai创业·deepseek
weixin_428498497 小时前
Linux系统perf命令使用介绍,如何用此命令进行程序热点诊断和性能优化
linux·运维·性能优化
盛满暮色 风止何安8 小时前
VLAN的高级特性
运维·服务器·开发语言·网络·网络协议·网络安全·php