【问题标题】:God cannot start redis server. Getting this error: `/var/run/redis/redis-server.pid': Permission denied上帝无法启动redis服务器。收到此错误:`/var/run/redis/redis-server.pid': Permission denied
【发布时间】:2013-07-26 04:31:16
【问题描述】:

我正在尝试使用上帝(红宝石宝石)监控 redis 服务器。我将 /etc/redis/redis.conf 中的 PID 文件路径更改为部署我的应用程序(使用 capistrano)的用户的 rails app temp 文件夹,并在 redis.god 文件中添加了行“w.pid_file = .. ." 它指向与我在 redis.conf 文件中更改的路径相同的 PID 路径。所以现在redis.god文件是这样的:

rails_env   = ENV['RAILS_ENV'] || 'production'
raise "Please specify RAILS_ENV." unless rails_env
rails_root  = ENV['RAILS_ROOT'] || File.expand_path(File.join(File.dirname(__FILE__), '..', '..'))

# Redis
%w{6379}.each do |port|
  God.watch do |w|
    w.dir           = "#{rails_root}"
    w.name          = "redis"
    w.interval      = 30.seconds
    w.start         = "/etc/init.d/redis-server start /etc/redis/redis.conf"
    w.stop          = "/etc/init.d/redis-server stop"
    w.restart       = "/etc/init.d/redis-server restart"
    w.start_grace   = 10.seconds
    w.restart_grace = 10.seconds
    w.log           = "#{rails_root}/log/redis.log"
    w.pid_file      = "/home/deployer/myapp/current/tmp/pids/redis-server.pid"

    w.behavior(:clean_pid_file)

    w.start_if do |start|
      start.condition(:process_running) do |c|
          c.interval = 5.seconds
          c.running = false
      end
    end
  end
end

所以我遇到的问题是上帝可以启动redis。我查看了它的日志以查找上帝文件,它显示以下内容:

Starting redis-server: touch: cannot touch `/var/run/redis/redis-server.pid': Permission denied

为什么它仍然试图查看 /var/run/redis/redis-server.pid?我将 redis.conf 文件中的 PID 路径更改为上面显示的新路径,因为我的权限被拒绝,但它仍然坚持查看 /var/run/redis/redis-server.pid。仅供参考,这是我想到更改 PID 路径的地方:God configuration file to monitor existing processes?

【问题讨论】:

  • 您的权限似乎存在问题。如果您在 sudo 权限下安装了 redis 并在您的用户权限下运行,那么难怪它无法触摸属于 root 的文件。
  • @daveTsunami 果然你是真的。我的印象是上帝会使用 sudo 权限运行,并且不会被拒绝对其 PID 文件的权限。我修复它的方法是将其 w.start、w.stop 和 w.retart 行更改为 "usr/bin/redis-server /etc/redis/redis.conf"

标签: ruby-on-rails redis monitor god


【解决方案1】:

请确保您已禁用 SElinux 您可以使用以下命令禁用 selinux: setenforce 0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-14
    • 1970-01-01
    • 2012-08-07
    • 2016-07-20
    相关资源
    最近更新 更多