如何在 ubuntu 20 桌面中自动启动 redis-server

问题描述

我目前在本地开发环境 Ubuntu 20.04 中运行 Redis-server。每次打开台式计算机时,我总是使用这个 Redis-server --daemonize yes 来启动 Redis 服务器。有没有办法让它在台式电脑开机时自动启动?

解决方法

不确定 redis,我以为它已经作为服务安装了。一般来说,您可以使用 systemd。类似于以下内容:

cat << EOF > /etc/systemd/system/redis.service
[Unit]
Description=Start Redis Application
After=syslog.target
After=network.target[Service]
User=root
Type=simple

[Service]
WorkingDirectory=/root/
ExecStart=Redis-server --daemonize yes
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=redis

[Install]
WantedBy=multi-user.target


EOF

,

我使用官方 redis 文档 https://redis.io/topics/quickstart 通过更正确地安装 Redis 修复了它。

步骤如下:

以下说明可用于在基于 Debian 或 Ubuntu 的发行版中使用 Redis 2.4 附带的 init 脚本执行正确安装。

假设您已经在 /usr/local/bin 下复制了 redis-server 和 redis-cli 可执行文件。

1.创建一个用于存储 Redis 配置文件和数据的目录:

  • sudo mkdir /etc/redis
  • sudo mkdir /var/redis

2.将您将在 Redis 发行版中的 utils 目录下找到的 init 脚本复制到 /etc/init.d 中。我们建议使用运行此 Redis 实例的端口的名称来调用它。例如:

  • sudo cp utils/redis_init_script /etc/init.d/redis_6379

3.编辑初始化脚本。

  • sudo vi /etc/init.d/redis_6379

确保根据您使用的端口修改 REDISPORT。 pid 文件路径和配置文件名都取决于端口号。

4.使用端口号作为名称将您在Redis发行版根目录中找到的模板配置文件复制到/etc/redis/中,例如:

  • sudo cp redis.conf /etc/redis/6379.conf

5.在 /var/redis 中创建一个目录,作为此 Redis 实例的数据和工作目录:

  • sudo mkdir /var/redis/6379

6.编辑配置文件,确保执行以下更改:

  • 将 daemonize 设置为 yes(默认设置为 no)。
  • 将 pidfile 设置为 /var/run/redis_6379.pid(根据需要修改端口)。
  • 相应地更改端口。在我们的示例中,不需要它,因为默认端口已经是 6379。
  • 设置您的首选日志级别。
  • 将日志文件设置为 /var/log/redis_6379.log
  • 将目录设置为 /var/redis/6379(非常重要的一步!)

7.最后,使用以下命令将新的 Redis init 脚本添加到所有默认运行级别:

  • sudo update-rc.d redis_6379 默认值

8.你完成了!现在您可以尝试使用以下命令运行您的实例:

  • sudo /etc/init.d/redis_6379 start

确保一切正常:

  • 尝试使用 redis-cli ping 您的实例。
  • 使用 redis-cli save 进行测试保存并检查转储文件是否 - 正确存储到 /var/redis/6379/(您应该找到一个名为 dump.rdb 的文件).
  • 检查您的 Redis 实例是否正确记录到日志文件中。
  • 如果它是一台可以毫无问题地试用的新机器,请确保在重新启动后一切仍然正常。