0、源码编译安装Redis

REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。

1、下载源码

将下载的包存储在新创建的/opt/soft目录下
[root@nues ~]# mkdir /opt/soft   #创建soft文件夹
[root@nues ~]# cd /opt/soft
[root@nues soft]#  wget http://download.redis.io/releases/redis-5.0.6.tar.gz

2、安装组件

[root@nues soft]# yum groupinstall 'Development Tools'
[root@nues soft]# tar -xf redis-5.0.6.tar.gz -C /usr/local/  #解压到 /usr/local/路径

3、编译安装

[root@nues soft]# yum -y install gcc make  #安装组件
[root@nues soft]# cd /usr/local/
[root@nues local]# mv redis-5.0.6 redis  #修改名字
[root@nues local]# cd redis
[root@nues redis]# make   #编译

编译redis.webp

[root@nues redis]# make install PREFIX=/usr/local/redis  # 参数:后面跟 PREFIX=/usr/local/redis  指定redis的安装路径

安装redis.webp

拷贝执行文件到/usr/local/bin下
[root@nues redis]# cd /usr/local/redis/bin
[root@nues bin]# cp * /usr/local/bin/

4、修改配置

[root@localhost redis]# mkdir -p /data/redis/logs #创建数据目录和日志存储目录
[root@nues ~]# vim /usr/local/redis/redis.conf
修改以下行
#行号#
69 #bind 127.0.0.1 # 添加#号 注释掉,以便外网访问
88 protected-mode no  #yes改成no 关闭保护模式
136 daemonize yes #no 改成ye 开启守护进程模式
171 logfile "/data/redis/logs/redis.log"  #指定redis log 日志存储路径以及日志文件名称
263 dir /data/redis   #指定AOF和RDB存储路径
507 requirepass nues1234   #去掉注释, 后面设置redis的密码

5、创建用户

#赋权(注意要跟systemd中指定的用户一样)
[root@nues ~]# groupadd appadmin
[root@nues ~]# useradd -g appadmin -s /sbin/nologin appadmin
[root@nues ~]# chown -R appadmin. /usr/local/redis
[root@nues ~]# chown -R appadmin. /data/redis/

6、系统管理

[root@nues ~]# vim /usr/local/redis/redis.conf
[Unit]
Description=Redis persistent key-value database
After=network.target
[Service]
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf --supervised systemd
ExecStop=/bin/kill -s QUIT $MAINPID
ExecRepload=/bin/kill -s HUP $MAINPID
Type=notify
User=appadmin
Group=appadmin
RuntimeDirectory=redis
RuntimeDirectoryMode=0755
[Install]
WantedBy=multi-user.target

7、启动服务

[root@nues ~]# systemctl daemon-reload  #重新加载某个服务的配置文件,如果新安装了一个服务,归属于 systemctl 管理,要是新服务的服务程序配置文件生效,需重新加载。
[root@nues ~]# systemctl start redis
[root@nues ~]# systemctl enable redis
Created symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /usr/lib/systemd/system/redis.service.
[root@nues ~]# systemctl status redis
● redis.service - Redis persistent key-value database
   Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled)
   Active: active (running) since 二 2021-09-14 23:29:40 EDT; 10s ago
 Main PID: 102290 (redis-server)
   CGroup: /system.slice/redis.service
           └─102290 /usr/local/redis/bin/redis-server *:6379

9月 14 23:29:40 nues systemd[1]: Starting Redis persistent key-value database...
9月 14 23:29:40 nues systemd[1]: Started Redis persistent key-value database.
9月 14 23:29:46 nues systemd[1]: [/usr/lib/systemd/system/redis.service:7] Unknown lvalue 'ExecRepload' in section 'Service'
[root@nues ~]# lsof -i:6379
COMMAND      PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
redis-ser 102290 appadmin    6u  IPv6 450647      0t0  TCP *:6379 (LISTEN)
redis-ser 102290 appadmin    7u  IPv4 450648      0t0  TCP *:6379 (LISTEN)
[root@nues ~]# ss -tnlp | grep 6379   #socket statistics 命令即为ss
LISTEN     0      128          *:6379                     *:*                   users:(("redis-server",pid=102290,fd=7))
LISTEN     0      128         :::6379                    :::*                   users:(("redis-server",pid=102290,fd=6))

8、密码管理

[root@nues ~]#  vim /usr/local/redis/redis.conf
#行号#
507 requirepass nues1234       # requirepass 后面的为修改后的密码
[root@nues ~]# systemctl restart redis #重启服务 修改密码生效
验证密码
[root@nues ~]# redis-cli
127.0.0.1:6379> auth nues1234
OK
127.0.0.1:6379> ping
PONG
远程访问,注意选项后面必须有个空格,然后再写密码和IP
[root@nues ~]# redis-cli  -p 6379 -c -h 10.15.3.233
10.15.3.233:6379> auth nues1234
OK
10.15.3.233:6379> 
最后修改:2023 年 04 月 13 日
如果觉得我的文章对你有用,请随意赞赏