我在nodejs应用程序中使用redis进行会话支持.我已经安装了redis服务器,它在我运行redis-server时工作,但是当我关闭终端时redis停止并且不起作用.如何让redis服务器永远运行?
lak*_*are 170
而且,如果您想要一个快速选项,请运行:redis-server --daemonize yes.
Did*_*zia 63
将Redis作为守护程序启动的最简单方法是编辑配置文件并更改以下行:
# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
daemonize yes
Run Code Online (Sandbox Code Playgroud)
确保在启动时在redis-server命令行上提供配置文件.
Redis发行版中提供了配置文件的示例.
tre*_*rex 15
正如@DidierSpezia在他的回答中提到的,
daemonize yes在Redis conf文件中设置.设置daemonize yes在Redis的的conf文件在/path/to/redis.conf一般情况应该是那里/etc/.
而且:
然后使用conf文件作为参数触发redis-server:
./redis-server /etc/redis.conf
Run Code Online (Sandbox Code Playgroud)
接受的答案大多已经过时了。虽然这个问题很老了,但谷歌仍然排名很高,所以请允许我纠正这个问题。
OP 没有提供有关他的设置的任何细节,但你可以假设它是一个 Linux,并且他没有提到容器,所以你也可以假设他在没有容器的情况下运行 redis。
有三个细节使接受的答案变得容易忘记
所以
supervised systemd在其默认配置中sudo systemctl start redis@instanceName替换为“instanceName”。也sudo systemctl enable redis@instanceName用于开机自动启动。(顺便说一句,忘记service start和 init 脚本了!现在这些脚本比直接调用的可移植性差systemctl)。daemonize: yes,这会干扰 systemd 监控 redis!Systemd 将监督、重新启动您的 Redis,您可以为其设置服务依赖项和服务先决条件,即使对于自定义可执行文件也不是那么难,搜索 systemd 单元文件(您将需要大约 10 行配置文件) 。很有可能,你会想要它。
如果这三个细节(使 systemd 成为正确答案)不满足/相关,那么您很可能正在运行容器化的 redis。对于docker / podman /等,这完全是另一个问题......(内部linux中没有systemd,但你必须(或已经)监督(d)容器守护进程本身)
| 归档时间: |
|
| 查看次数: |
58667 次 |
| 最近记录: |