Capistrano démarre le serveur Redis avec succès, mais il ne fonctionne pas lorsque je me connecte
-
13-12-2019 - |
Question
J'ai un script Capistrano qui peut contrôler mon serveur Redis.Voici la tâche en question :
%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
Cependant, le serveur Redis ne fonctionne pas lorsque je me connecte.Cela fonctionne si je le démarre manuellement :
> sudo /etc/init.d/redis-server start
Et j'obtiens le même résultat que ci-dessus, mais cette fois, le processus reste en cours d'exécution.
En regardant les journaux sur /var/log/redis/redis.log
et le fichier est vide.
Avez-vous une idée de ce que je fais de mal ?Je démarre d'autres services comme celui-ci (nginx, unicorn, mysql, etc.) et ceux-ci fonctionnent bien.
La solution
Je pense que le processus Redis se termine une fois la connexion SSH terminée.
Essayez d'ajouter non à votre script:
run "#{sudo} nohup /etc/init.d/redis-server #{cmd}"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow