Redis

关注公众号 jb51net

关闭
首页 > 数据库 > Redis > redis7.4.2单机配置

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 

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文