gpt4 book ai didi

redis - capistrano 成功启动 redis-server,但是当我登录时它没有运行

转载 作者:IT王子 更新时间:2023-10-29 06:04:09 25 4
gpt4 key购买 nike

我有一个可以控制我的 redis 服务器的 capistrano 脚本。这是有问题的任务:

  %w[start stop restart].each do |cmd|
desc "#{cmd}s redis-server"
task cmd, :roles => :app do
run "#{sudo} /etc/init.d/redis-server #{cmd}"
end
end

When I run this (deploying to a local vagrant VM) it says it's starts successfully:

> cap local redis:start


triggering load callbacks
* executing `local'
Deploying branch master
triggering start callbacks for `redis:start'
* executing `multistage:ensure'
* executing `redis:start'
* executing "sudo -p 'sudo password: ' /etc/init.d/redis-server start"
servers: ["192.168.33.10"]
Password:
[192.168.33.10] executing command
** [out :: 192.168.33.10] Starting redis-server:
** [out :: 192.168.33.10] redis-server.
command finished in 2054ms

但是,当我 ssh 进入时,redis-server 没有运行。如果我手动启动它,它就可以工作:

> sudo /etc/init.d/redis-server start

我得到了与上面相同的输出,只是这次进程保持运行。

查看 /var/log/redis/redis.log 的日志,文件为空。

知道我做错了什么吗?我启动了类似这样的其他服务(nginx、unicorn、mysql 等),它们运行良好。

最佳答案

我相信一旦 ssh 连接终止,redis 进程就会结束。

尝试将 nohup 添加到您的脚本中:

run "#{sudo} nohup /etc/init.d/redis-server #{cmd}"

关于redis - capistrano 成功启动 redis-server,但是当我登录时它没有运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12715874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com