我正在尝试为redis服务器添加一个启动-停止-重新启动方法
通过ssh登录远程服务器,我可以运行

 service redis-server restart

但是添加到deploy.rake
%w[start stop restart].each do |command|
  desc "#{command} Redis server."
    task command do
      on roles(:app) do
       execute "service redis-server #{command}"
      end
    end
end

重新启动时出错
 DEBUG [8410afb7] Command: service redis-server restart
 DEBUG [8410afb7]   Stopping redis-server:
 DEBUG [8410afb7]   redis-server.
 DEBUG [8410afb7]   Starting redis-server:
 DEBUG [8410afb7]   touch:
 DEBUG [8410afb7]   cannot touch ‘/var/run/redis/redis-server.pid’:
 Permission denied

很明显/run是根:根…
我该怎么解决?我应该在主目录中安装redis服务器吗?(如果可能?)
谢谢你的建议

最佳答案

我应该写:

    execute :sudo, "service redis-server #{command}"

在我的deploy.rake配方中

关于ruby-on-rails-4 - rails4 - capistrano3:如何在部署后启动 - 停止重启redis-server?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31970505/

10-15 07:33