1)下载源码
https://download.redis.io/releases/
从上面的地址中选择要下载的版本
[root@redis01 tools]# wget https://download.redis.io/releases/redis-6.2.4.tar.gz
--2021-06-28 14:46:05-- https://download.redis.io/releases/redis-6.2.4.tar.gz
Resolving download.redis.io (download.redis.io)... 45.60.125.1
Connecting to download.redis.io (download.redis.io)|45.60.125.1|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2457940 (2.3M) [application/octet-stream]
Saving to: ‘redis-6.2.4.tar.gz’
100%[====================================================================================================================================================================>] 2,457,940 3.41MB/s in 0.7s
2021-06-28 14:46:06 (3.41 MB/s) - ‘redis-6.2.4.tar.gz’ saved [2457940/2457940]
[root@redis01 tools]# tar -zxvf redis-6.2.4.tar.gz
2)安装gcc
[root@redis01 tools]# yum -y install gcc tcl
3)编译
[root@redis01 tools]# cd redis-6.2.4
[root@redis01 redis-6.2.4]# make
4)安装
#注意:PREFIX要大写,不能小写
[root@redis01 redis-6.2.4]# make PREFIX=/opt/apps/redis/ install
#下面为安装输出内容
cd src && make install
make[1]: Entering directory `/opt/tools/redis-6.2.4/src'
Hint: It's a good idea to run 'make test' ;)
INSTALL redis-server
INSTALL redis-benchmark
INSTALL redis-cli
make[1]: Leaving directory `/opt/tools/redis-6.2.4/src'
5)启动服务
[root@redis01 redis-6.2.4]# ./opt/apps/redis/bin/redis-server
1422:C 28 Jun 2021 18:13:40.296 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1422:C 28 Jun 2021 18:13:40.296 # Redis version=6.2.4, bits=64, commit=00000000, modified=0, pid=1422, just started
1422:C 28 Jun 2021 18:13:40.296 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf
1422:M 28 Jun 2021 18:13:40.296 * Increased maximum number of open files to 10032 (it was originally set to 1024).
1422:M 28 Jun 2021 18:13:40.296 * monotonic clock: POSIX clock_gettime
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 6.2.4 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 1422
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | https://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
1422:M 28 Jun 2021 18:13:40.297 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
1422:M 28 Jun 2021 18:13:40.297 # Server initialized
1422:M 28 Jun 2021 18:13:40.297 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. 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.
1422:M 28 Jun 2021 18:13:40.297 * Ready to accept connections
^C1422:signal-handler (1624875232) Received SIGINT scheduling shutdown...
1422:M 28 Jun 2021 18:13:52.619 # User requested shutdown...
1422:M 28 Jun 2021 18:13:52.619 * Saving the final RDB snapshot before exiting.
1422:M 28 Jun 2021 18:13:52.620 * DB saved on disk
1422:M 28 Jun 2021 18:13:52.620 # Redis is now ready to exit, bye bye...
6)redis.conf
上面直接启动的方式,当关闭窗口时,同时也会关闭掉redis服务,所以一般都会按需配置redis.conf来启动redis。
[root@redis01 redis-6.2.4]# mkdir -p /opt/apps/redis/etc
[root@redis01 redis-6.2.4]# cp redis.conf /opt/apps/redis/etc
[root@redis01 redis-6.2.4]# vi /opt/apps/redis/etc/redis.conf
#注释掉bind
bind 127.0.0.1 -::1
#关闭保护模式
protected-mode no
#设置为后台启动
daemonize yes
[root@redis01 redis-6.2.4]# cd /opt/apps/redis/
[root@redis01 redis]# bin/redis-server etc/redis.conf
7)客户端
#添加环境变量
[root@redis01 redis]# vi /etc/profile
export REDIS_HOME=/opt/apps/redis
export PATH=$PATH:${REDIS_HOME}/bin
[root@redis01 redis]# source /etc/profile
#客户端连接服务端
[root@redis01 redis]# redis-cli
127.0.0.1:6379> keys *
(empty array)
8)设置开机启动
开机启动有多种方式,这里讲解两种。
1、使用chkconfig
#开机启动
[root@redis01 redis]# cp /opt/tools/redis-6.2.4/utils/redis_init_script /etc/init.d/redisd
[root@redis01 redis]# vi /etc/init.d/redisd
#修改文件中的以下内容为自己安装对应的路径
EXEC=/opt/apps/redis/bin/redis-server
CLIEXEC=/opt/apps/redis/bin/redis-cli
#这个pid文件为默认的路径,可以在redis.conf文件中找到
PIDFILE=/var/run/redis_6379.pid
CONF="/opt/apps/redis/etc/redis.conf"
[root@redis01 redis]# chkconfig redisd on
[root@redis01 redis]# service redisd start
[root@redis01 redis]# service redisd stop
2、使用systemctl
#先将chkconfig redisd off
[root@redis01 redis]# chkconfig redisd off
[root@redis01 redis]# vi /etc/systemd/system/redis.service
#在redis.service文件中写入如下内容
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
PIDFile=/var/run/redis_6379.pid
ExecStart=/opt/apps/redis/bin/redis-server /opt/apps/redis/etc/redis.conf
#重新加载命令
ExecReload=/bin/kill -s HUP $MAINPID
#停止服务的命令
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
[root@redis01 redis]# systemctl stop redis.service
[root@redis01 redis]# systemctl start redis.service
#设置开机启动
[root@redis01 redis]# systemctl enable redis.service
#停止开机启动
[root@redis01 redis]# systemctl disable redis.service