redis7.4.2单机配置过程
作者:PABL01
这段文章详细介绍了通过源码编译安装Redis的过程,涵盖了从下载源码包到卸载Redis的每一步骤,并强调了实践中的实用性和重要性性,关键词包括:源码编译、Redis安装和卸载流程
解压源码包
将从官网下载的redis源码压缩包上传到服务器的相关目录下。
[root@hcss-ecs-2851 ~]# wget https://download.redis.io/redis-stable.tar.gz [root@hcss-ecs-2851 ~]# mv redis-stable.tar.gz /opt/soft/redis/ [root@hcss-ecs-2851 ~]# cd /opt/soft/redis/ [root@hcss-ecs-2851 redis]# ls redis-stable.tar.gz
解压并进入解压后的目录中。
[root@hcss-ecs-2851 redis]# tar -zxvf redis-stable.tar.gz [root@hcss-ecs-2851 redis]# ls redis-stable redis-stable.tar.gz [root@hcss-ecs-2851 redis]# cd redis-stable [root@hcss-ecs-2851 redis-stable]# ls 00-RELEASENOTES CODE_OF_CONDUCT.md deps LICENSE.txt MANIFESTO redis.conf runtest runtest-moduleapi SECURITY.md src TLS.md BUGS CONTRIBUTING.md INSTALL Makefile README.md REDISCONTRIBUTIONS.txt runtest-cluster runtest-sentinel sentinel.conf tests utils
安装gcc
[root@hcss-ecs-2851 redis-stable]# yum install -y gcc gcc-c++
安装redis
[root@hcss-ecs-2851 redis-stable]# make root@hcss-ecs-2851 redis-stable]# make install
简单测试是否安装成功
[root@hcss-ecs-2851 redis-stable]# cd
[root@hcss-ecs-2851 ~]# redis-server
9193:C 24 Mar 2025 12:03:19.847 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
9193:C 24 Mar 2025 12:03:19.847 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
9193:C 24 Mar 2025 12:03:19.847 * Redis version=7.4.2, bits=64, commit=00000000, modified=0, pid=9193, just started
9193:C 24 Mar 2025 12:03:19.847 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
9193:M 24 Mar 2025 12:03:19.847 * monotonic clock: POSIX clock_gettime
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis Community Edition
.-`` .-```. ```\/ _.,_ ''-._ 7.4.2 (00000000/0) 64 bit
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 9193
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | https://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
9193:M 24 Mar 2025 12:03:19.848 * Server initialized
9193:M 24 Mar 2025 12:03:19.848 * Ready to accept connections tcp
自定义设置
自定义目录
[root@hcss-ecs-2851 ~]# cd /opt/soft/redis/
[root@hcss-ecs-2851 redis]# mkdir {etc,lib,log}
[root@hcss-ecs-2851 redis]# ls
etc lib log redis-stable redis-stable.tar.gz
[root@hcss-ecs-2851 redis]# cp redis-stable/redis.conf etc/
[root@hcss-ecs-2851 redis]# ls etc/
redis.conf
编辑redis.conf
bind 0.0.0.0 # 任意ip均可访问 protected-mode no port 6379 daemonize yes # 后台运行 pidfile /var/run/redis.pid # 运行时进程id logfile /opt/soft/redis/log/redis.log #日志文件 dir /opt/soft/redis/lib/ requirepass ********* # 设置密码
创建 systemd 服务文件
[root@hcss-ecs-2851 etc]# cd /etc/systemd/system/ [root@hcss-ecs-2851 system]# vim redis.service
[Unit] Description=Redis In-Memory Data Store After=network.target [Service] Type=forking User=root Group=root ExecStart=/usr/local/bin/redis-server /opt/soft/redis/etc/redis.conf ExecStop=/usr/local/bin/redis-cli -p 6379 shutdown PIDFile=/var/run/redis.pid Restart=on-failure [Install] WantedBy=multi-user.target
[root@hcss-ecs-2851 ~]# systemctl daemon-reload
[root@hcss-ecs-2851 ~]# systemctl start redis
[root@hcss-ecs-2851 ~]# systemctl status redis
● redis.service - Redis In-Memory Data Store
Loaded: loaded (/etc/systemd/system/redis.service; disabled; vendor preset: disabled)
Active: active (running) since 一 2025-03-24 12:43:28 CST; 8s ago
Process: 3340 ExecStart=/usr/local/bin/redis-server /opt/soft/redis/etc/redis.conf (code=exited, status=0/SUCCESS)
Main PID: 3341 (redis-server)
CGroup: /system.slice/redis.service
└─3341 /usr/local/bin/redis-server 0.0.0.0:6379
3月 24 12:43:28 hcss-ecs-2851 systemd[1]: Starting Redis In-Memory Data Store...
3月 24 12:43:28 hcss-ecs-2851 systemd[1]: Can't open PID file /var/run/redis.pid (yet?) after start: No such file or directory
3月 24 12:43:28 hcss-ecs-2851 systemd[1]: Started Redis In-Memory Data Store.
[root@hcss-ecs-2851 ~]# cd /opt/soft/redis/log/ [root@hcss-ecs-2851 log]# cat redis.log ...... 3341:M 24 Mar 2025 12:43:28.337 * Ready to accept connections tcp [root@hcss-ecs-2851 log]# systemctl stop redis [root@hcss-ecs-2851 log]# cat redis.log ...... 3341:M 24 Mar 2025 12:44:10.592 # Redis is now ready to exit, bye bye...
卸载redis
如果按照上述方法,即源码编译安装,则基本可以按照如下流程卸载redis。
进入源码包目录。
cd /opt/soft/redis/redis-stable/
make uninstall && make clean
删除redis相关文件和目录。
cd /opt/soft/ && rm -rf redis/
yum remove redis
rm /etc/systemd/system/redis.service
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
