CentOS7 安装 Redis 7.0.2

打印 上一主题 下一主题

主题 783|帖子 783|积分 2349

安装 Redis
  1. # 首先安装依赖gcc, 后面需要使用make编译redis
  2. yum install gcc -y
  3. # 进入 /usr/local/src 目录, 把源码下载到这里
  4. cd /usr/local/src
  5. # 下载 redis 7.0.2 的源码,github被墙,可以使用国内的地址
  6. wget http://download.redis.io/releases/redis-7.0.2.tar.gz
  7. # 解压缩
  8. tar zxvf redis-7.0.2.tar.gz
  9. # 进入解压后的文件夹
  10. cd redis-7.0.2
  11. # 编译并安装 redis, 漫长的等待...
  12. make && make install
  13. # 安装完成后,redis会被默认安装在  /usr/local/bin/
  14. # 查看下这个目录下的文件,可以看到有 redis-server, 这个文件就是redis的服务程序了
  15. ls /usr/local/bin/
复制代码
启动 Redis
  1. # 因为redis被默认安装在/usr/local/bin,这个目录默认就在系统的环境变量中(不信,你可以使用 env 命令,查看一下你的PATH是不是有)
  2. # 所以,我们可以在任意位置运行 redis-server 来启动 redis
  3. redis-server
复制代码
启动成功,你可以看到如下界面:

但是这里有些问题:

  • redis的默认端口是 6379, 假如这个端口被占用了怎么办?
  1. [root@broadm ~]# redis-server
  2. 6610:C 25 Jun 2022 15:47:53.378 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
  3. 6610:C 25 Jun 2022 15:47:53.378 # Redis version=7.0.2, bits=64, commit=00000000, modified=0, pid=6610, just started
  4. 6610:C 25 Jun 2022 15:47:53.378 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
  5. 6610:M 25 Jun 2022 15:47:53.379 * Increased maximum number of open files to 10032 (it was originally set to 1024).
  6. 6610:M 25 Jun 2022 15:47:53.379 * monotonic clock: POSIX clock_gettime
  7. 6610:M 25 Jun 2022 15:47:53.380 # Warning: Could not create server TCP listening socket *:6379: bind: Address already in use
  8. 6610:M 25 Jun 2022 15:47:53.380 # Failed listening on port 6379 (TCP), aborting.
复制代码

  • redis-server 默认以前台方式启动,即启动完成后,一直占据命令窗口,我们无法再执行其他操作了,这明显不合适,我们需要的是后台启动
修改配置文件

好在 redis 提供了配置文件,我们可以配置redis,修改默认端口,修改启动方式为后台启动,修改密码等等.
还记得上面,我们解压redis的目录吗? 没错,就是 /usr/local/src/redis-7.0.2, 让我们进入到这个目录, redis的配置文件就在这里 redis.conf
  1. # 进入redis的解压目录
  2. cd /usr/local/src/redis-7.0.2
  3. # 查看目录内容, 你会看到 redis.conf
  4. ls
  5. # 在编辑 redis.conf 之前, 好的做法是先备份它
  6. cp redis.conf redis.conf.backup
  7. # 好了,现在我们可以大胆的修改 redis.conf 了
  8. vim redis.conf
复制代码
后台启动

首先我们搜索 daemonize , vim的查找操作别忘了(不会的话自己百度)
找到 daemonize no 这一行, 然后我们把 no 修改为 yes, 这样就可以后台启动redis了
  1. daemonize yes
复制代码
设置密码

我们搜索 requirepass,找到 # requirepass foobared 这一行, 我们可以看到默认密码这一行被注释了,说明默认没有开启密码保护
  1. requirepass 你的密码
复制代码
设置端口

搜索 port, 你会发现  port 6379 这一行, 需要的话你就改它吧(比如,你的6379端口被其他程序占用了)
  1. port 6379
复制代码
允许远程访问

找到 bind 127.0.0.1 -::1, 修改为
  1. bind 0.0.0.0
复制代码
修改其他配置请查看官方文档

OK, 改完了配置文件, 我们要怎么使用它呢? 很简单:
执行下面的命令,必须要在 redis.conf 所在的文件夹, 就是上面的 /usr/local/src/redis-7.0.2
如果你离开这个文件夹了,请使用完整的路径 redis-server /usr/local/src/redis-7.0.2/redis.conf
  1. redis-server redis.conf
复制代码
现在redis就是以后台的方式启动了,看看我的实操:
  1. [root@broadm redis-7.0.2]# redis-server redis.conf
  2. [root@broadm redis-7.0.2]# ps -ef | grep redis
  3. root       6573   1970  0 15:47 pts/0    00:00:05 redis-server *:6379
  4. root       6704   6583  0 16:25 pts/1    00:00:00 grep --color=auto redis
  5. [root@broadm redis-7.0.2]#
复制代码
开机自启

这种启动的方式很low啊,每次重启机器的话,是不是都要手动敲命令啊
没错,你需要开机自启,也就是需要搞成系统服务,让我们开始吧:
首先,你要为redis编写一个系统服务文件:
  1. vim /etc/systemd/system/redis.service
复制代码
文件内容如下:
  1. [Unit]
  2. Description=redis-server
  3. After=network.target
  4. [Service]
  5. Type=forking
  6. ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-7.0.2/redis.conf
  7. PrivateTmp=true
  8. [Install]
  9. WantedBy=multi-user.target
复制代码
注意: 上面的 ExecStart , 如果你按照我的方式一步步来的话,不用改,否则修改为自己的实际安装路径
重新加载系统服务
  1. systemctl daemon-reload
复制代码
设置开机自启:
  1. systemctl enable redis
复制代码
启动,停止,卸载,查看状态
  1. # 启动redis服务
  2. systemctl start redis
  3. # 查看服务状态
  4. systemctl status redis
  5. # 停止服务
  6. systemctl stop redis
  7. # 取消开机自动启动(卸载服务)
  8. systemctl disabled redis
复制代码

  • 如果你在启动redis之后, 使用 systemctl status redis 发现,
    没有启动成功, 这可能是因为,你之前已经启动了redis了,首先把之前启动的关闭后,再使用 systemctl start redis
  • 你可以使用 ps -ef | grep redis 查看正在运行的redis进程
  • 使用 kill -9 进程ID 杀死正在运行的进程
补充: 如果您的服务器开启了防火墙,您需要把redis的端口放行,或者您是使用的云服务器,您同样需要配置防火墙
正常的运行状态应该是下面这样的,祝你好运!!!
  1. [root@broadm redis-7.0.2]# systemctl status redis
  2. ● redis.service - redis-server
  3.    Loaded: loaded (/etc/systemd/system/redis.service; enabled; vendor preset: disabled)
  4.    Active: active (running) since 六 2022-06-25 16:46:10 CST; 3s ago
  5.   Process: 6907 ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-7.0.2/redis.conf (code=exited, status=0/SUCCESS)
  6. Main PID: 6908 (redis-server)
  7.     Tasks: 5
  8.    Memory: 6.7M
  9.    CGroup: /system.slice/redis.service
  10.            └─6908 /usr/local/bin/redis-server 127.0.0.1:6379
  11. 6月 25 16:46:10 broadm systemd[1]: Starting redis-server...
  12. 6月 25 16:46:10 broadm systemd[1]: Started redis-server.
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

乌市泽哥

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表