《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系统运维指南》

相关推荐
2401_8949155315 小时前
Geo 优化源码部署实战:环境配置、参数调优完整指南
运维·服务器·数据库·tcp/ip·安全
悟天特斯15 小时前
智慧楼宇边缘计算实战:从端侧自治到云边协同的算力下沉架构
人工智能·物联网·架构·边缘计算
lxw202302711615 小时前
k8s安装部署(利用ansible)
linux·kubernetes·ansible
xcLeigh15 小时前
聊聊数据库迁移工具怎么从单机走向“云+端+服务”,KDMS架构拆解
数据库·架构·数据库迁移·kes·kdms·架构拆解
爱和冰阔落16 小时前
【Linux】Ctrl+C 到底做了什么?从键盘、kill 到 alarm,一次讲清信号的产生
linux·运维·c++·安卓
JavaPub-rodert16 小时前
Linux 下部署 MongoDB:从安装、配置到生产环境使用
linux·运维·mongodb
我不会插花弄玉16 小时前
11.Linux进程信号【由浅入深-Linux】
linux·进程·信号
凤山老林16 小时前
高可用服务容错架构:Spring Boot 集成 Resilience4j 实战指南
spring boot·后端·架构·resilience4j
ZJU_统一阿萨姆17 小时前
【算子开发】扫描(Scan)与前缀和
开发语言·arm开发·架构·系统架构·硬件架构
Dawson Zhu17 小时前
Agent自我纠错死循环:从原理剖析到工程化防御体系构建
人工智能·语言模型·架构·aigc