在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 开机自启

posted @ 2025-08-19 13:08  鹿鹿脖子长  阅读(22)  评论(0)    收藏  举报