李沐泽

V1

2023/05/26阅读:6主题:默认主题

安装Redis6

安装Redis

  • 安装redis依赖

    • redis是基于C语言编写的,因此首选需要安装redis所需的gcc依赖

      yum install -y gcc tcl
  • 上传安装包并解压

    • 我安装的是redis-6.2.6版本,并且放到了/usr/local/src目录下
- 进入/usr/local/src目录

  ```shell
  cd /usr/local/src
  ```
  • 解压

    tar -zxvf redis-6.2.6.tar.gz
  • 解压后,进入redis目录

    cd redis-6.2.6
  • 运行编译命令

    make && make install

    在该目录下,查看README.md文件,可以发现如下内容,即make install命令默认将redis安装到了/usr/local/bin下

  • 查看安装目录下的文件
  • redis-cli:是redis提供的命令行客户端
  • redis-server:是redis的服务端启动脚本
  • redis-sentinel:是redis的哨兵启动脚本

启动

默认启动

  • 安装完成后,在任意目录下输入redis-server明明即可启动Redis:

    redis-server
默认启动方式是前台启动,会阻塞整个回话窗口,窗口关闭或按下Ctrl+c则redis停止。

指定配置启动

若需要将redis以后台方式启动,则必须修改redis配置文件,该配置文件在redis的安装包中,文件名为redis.conf,即刚才解压的包中(/usr/local/src/redis-6.2.6)的redis.conf。

  • 备份redis配置文件

     cp redis.conf redis.conf.back
  • 修改redis.conf文件

    # 允许访问的地址,默认是bind 127.0.0.1 -::1,会导致智能本地访问,修改为0.0.0.0,修改为0.0.0.0,则可在任意IP访问,但是不建议生活从那环境设置0.0.0.0
    bind 0.0.0.
    # 是否守护进程方式运行, yes标识后台运行
    daemonize yes
    #密码,设置后访问redis需要输入密码
    requirepass xxxxxx
    • redis其他常见配置

      # 监听端口
      port 6379
      # 工作目录,默认是当前目录,主要是运行redis-server命令后,产生的日志持久化文件等
      dir .
      # 数据库数量,默认有16个库,编号0-15,设置为1,代表只使用一个库
      databases 1
      # 设置redis能够使用的最大内存
      maxmemory 512mb
      # 日志文件,默认为空,不记录日志,
      logfile ""
  • 启动redis

    # 进入redis安装目录
    cd /user/local/src/redis-6.2.6
    # 启动
    redis-server redis.conf
    #或者
    redis-server /usr/local/src/redis-6.2.6/redis.conf
  • 停止服务

    # 利用redis-cli执行shutdown命令,即可停止redis服务
    redis-cli -a 密码 shutdown

开机自启

  • 新建一个系统服务文件

    vim /etc/systemd/system/redis.service
    • redis.service内容

      [Unit]
      ## Description 项被设置为 redis-server,表示该服务单元是 Redis 服务器
      Description=redis-server
      ## 服务应该在网络服务启动之后才开始启动
      After=network.target

      [Service]
      ## Type=forking 表示服务需要在后台运行
      Type=forking
      ## 使用 systemd 启动 Redis 服务时在服务单元文件中设置的一个命令,它的作用是启动 Redis 服务。
      ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
      ## PrivateTmp=true 是在使用 systemd 启动服务时在服务单元文件中设置的一个选项,它的作用是为服务提供一个私有的临时文件系统。在 Linux 系统中,临时文件通常存储在 /tmp 目录中,这个目录是所有用户都可以访问的。然而,在某些情况下,服务可能需要创建和使用临时文件,但又不希望这些文件被其他用户访问或影响到其他服务。因此,可以设置 PrivateTmp=true 来为服务提供一个私有的临时文件系统,这样服务就可以独立地创建和使用自己的临时文件了。当 PrivateTmp=true 被设置后,systemd 将为该服务创建一个私有的临时文件系统,在服务启动时,该文件系统将被挂载到 /tmp 目录下。服务将只能看到和访问自己的临时文件,而不能看到和访问其他服务或用户创建的临时文件。当服务停止时,systemd 会自动卸载私有临时文件系统,以确保安全性和稳定性
      PrivateTmp=true

      [Install]
      ## WantedBy=multi-user.target 表示该服务应该在系统进入多用户模式时启动。当系统进入多用户模式时,Systemd 将自动启动该服务。
      WantedBy=multi-user.target

      [Unit] 用于描述一个单元的基本属性,如描述服务、套接字、自动挂载点等等。在 [Unit] 段落中,可以设置该单元的描述、关联单元、启动顺序、依赖关系、条件等等。

      [Service] 用于描述一个服务的属性,包括服务的启动方式、执行的命令、用户和组等等。 在 [Service]` 段落中,可以设置服务的启动方式、是否开启私有的临时文件系统、进程最大允许时间、超时控制和环境变量等。

      [Install] 用于描述服务单元的安装和启动方式。在 [Install] 段落中,可以设置该服务单元的启动级别、依赖关系等。通常,该段落只在需要自动启动服务时才会使用。

  • 重载系统服务

    systemctl daemon-reload
  • 通过系统服务命令操作redis

    # 启动
    systemctl start redis
    # 停止
    systemctl stop redis
    # 重置
    systemctl restart redis
    # 查看状态
    systemctl status redis
  • 设置开机自启

    systemctl enable redis

分类:

后端

标签:

Java

作者介绍

李沐泽
V1