如何在Ubuntu 20桌面版上设置Redis服务器自动启动

8

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

3个回答

23
如果您的系统正在使用 systemd,启动它的方法如下:
sudo systemctl enable redis-server

无法工作: 无法启用单元:单元文件 redis-server.service 不存在。 - undefined

0

关于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


0

我使用官方的Redis文档https://redis.io/topics/quickstart来更好地安装Redis,最终解决了问题。

以下是步骤:

下面的指令可以在Debian或基于Ubuntu的发行版中使用init脚本进行适当的安装。

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

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. 编辑init脚本。

  • 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。
  • 设置首选loglevel。
  • 将logfile设置为/var/log/redis_6379.log
  • 将dir设置为/var/redis/6379(非常重要的步骤!)

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

  • sudo update-rc.d redis_6379 defaults

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

  • sudo /etc/init.d/redis_6379 start

确保一切都按预期工作:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接