在centos9下通过编译源码包进行redis的安装
通过编译 源码包形式 进行安装,版本使用 centos(9-latest) 和 redis(6.2.14)
# 源码包提前放置在该目录下
[root@localhost src]# pwd
/usr/local/src
[root@localhost src]# tar -xzf redis-6.2.14.tar.gz
[root@localhost src]# cd redis-6.2.14/
# Redis是基于C语言编写的,因此编译前需要安装所需要的gcc依赖
[root@localhost redis-6.2.14]# yum install -y gcc tcl
# ...
[root@localhost redis-6.2.14]# make && make install
# ...
[root@localhost redis-6.2.14]# ll
总用量 256
-rw-rw-r--. 1 root root 41762 10月 18 2023 00-RELEASENOTES
-rw-rw-r--. 1 root root 51 10月 18 2023 BUGS
-rw-rw-r--. 1 root root 5026 10月 18 2023 CONDUCT
-rw-rw-r--. 1 root root 3384 10月 18 2023 CONTRIBUTING
-rw-rw-r--. 1 root root 1487 10月 18 2023 COPYING
drwxrwxr-x. 7 root root 4096 8月 18 14:36 deps
-rw-rw-r--. 1 root root 11 10月 18 2023 INSTALL
-rw-rw-r--. 1 root root 151 10月 18 2023 Makefile
-rw-rw-r--. 1 root root 6888 10月 18 2023 MANIFESTO
-rw-rw-r--. 1 root root 21567 10月 18 2023 README.md
-rw-rw-r--. 1 root root 93849 10月 18 2023 redis.conf
-rwxrwxr-x. 1 root root 279 10月 18 2023 runtest
-rwxrwxr-x. 1 root root 283 10月 18 2023 runtest-cluster
-rwxrwxr-x. 1 root root 1117 10月 18 2023 runtest-moduleapi
-rwxrwxr-x. 1 root root 281 10月 18 2023 runtest-sentinel
-rw-rw-r--. 1 root root 13768 10月 18 2023 sentinel.conf
drwxrwxr-x. 3 root root 12288 8月 18 14:37 src
drwxrwxr-x. 11 root root 182 10月 18 2023 tests
-rw-rw-r--. 1 root root 3055 10月 18 2023 TLS.md
drwxrwxr-x. 9 root root 4096 10月 18 2023 utils
# 安装后会默认在 /usr/local/bin 路径创建链接,该路径默认配置到环境变量,因此可以在任意目录下运行这些命令
[root@localhost bin]# ll /usr/local/bin
总用量 17872
-rwxr-xr-x. 1 root root 4490256 8月 18 14:37 redis-benchmark
lrwxrwxrwx. 1 root root 12 8月 18 14:37 redis-check-aof -> redis-server
lrwxrwxrwx. 1 root root 12 8月 18 14:37 redis-check-rdb -> redis-server
-rwxr-xr-x. 1 root root 4644848 8月 18 14:37 redis-cli
lrwxrwxrwx. 1 root root 12 8月 18 14:37 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 9157128 8月 18 14:37 redis-server
安装完成后,在任意目录输入 redis-server 命令即可启动 redis,但会阻塞整个会话窗口
关闭窗口或者按下 CTRL + C redis 则会停止,故不推荐使用(修改配置文件中的 daemonize yes 可以进行后台启动)
redis 常见配置项的修改
[root@localhost bin]# cd /usr/local/src/redis-6.2.14/
# 备份配置文件
[root@localhost redis-6.2.14]# cp redis.conf redis.conf.bak
常用配置项:
# 允许访问的地址,默认是 127.0.0.1,会导致只能在本地访问。修改为 0.0.0.0 则可以任意 IP 访问,生产环境不要设置为 0.0.0.0
bind 0.0.0.0
# 守护进程,修改为 yes 后即可后台运行
daemonize yes
# 密码,设置后访问 redis 必须输入密码
requirepass 123456
# 监听的端口
port 6379
# 工作目录,默认是当前目录,也就是运行 redis-server 启动命令时,日志、持久化等文件会保存在这个目录
dir .
# 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15
databases 1
# 设置 redis 能够使用的最大内存
maxmemory 512mb
# 日志文件,默认为空,不记录日志,可以指定日志文件名
logfile "redis.log"
启动与关闭 redis
# 进入redis安装目录
cd /usr/local/src/redis-6.2.6
# 启动
redis-server redis.conf
# 通过查找 pid 验证启动成功
[root@localhost redis-6.2.14]# ps -aux | grep redis
root 515017 0.1 1.3 51488 9812 ? Ssl 12:06 0:00 redis-server 0.0.0.0:6379
root 515083 0.0 0.3 6644 2428 pts/0 S+ 12:07 0:00 grep --color=auto redis
# 通过登录 redis 验证启动成功
[root@localhost redis-6.2.14]# redis-cli -h 127.0.0.1 -p 6379 -a 123321
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. # 意思是:不建议通过 redis-cli 登录时使用 -a 或者 -u 参数并附着密码。而是建议先建立连接,再通过 auth 命令验证,这样更安全,格式为:AUTH [用户名] 密码,例如:AUTH 123321
127.0.0.1:6379> ping
PONG
# 关闭 redis 服务
[root@localhost redis-6.2.14]# redis-cli -a 123321 shutdown
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. # 意思是:不建议通过 redis-cli 登录时使用 -a 或者 -u 参数并附着密码。而是建议先建立连接,再通过 auth 命令验证,这样更安全,格式为:AUTH [用户名] 密码,例如:AUTH 123321
需要确保 centos9 的 firewalld 防火墙允许 redis 默认的 6379 端口,以便网络连接
# 检查防火墙状态
sudo systemctl status firewalld
# 开放端口
sudo firewall-cmd --zone=public --add-port=6379/tcp --permanent
# 重新加载防火墙配置
sudo firewall-cmd --reload
设置 redis 开机自启动
首先,新建一个系统服务文件 vi /etc/systemd/system/redis.service,内容如下:
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
然后重载系统服务 systemctl daemon-reload,现在就可以用下面这组命令来操作 redis 了:
# 启动
systemctl start redis
# 停止
systemctl stop redis
# 重启
systemctl restart redis
# 查看状态
systemctl status redis
执行 systemctl enable redis 命令,可以让 redis 开机自启

浙公网安备 33010602011771号