我在CentOS 6.5上运行上帝来监视与nginx一起使用的独角兽,以便在rails应用程序上部署ruby。我可以毫无问题地启动上帝和独角兽,但是当我运行命令时
god log unicorn
我收到“请稍候......”消息,但之后没有任何反应。我等了大约一个小时没有发生任何事情。有谁知道会导致什么?我尝试在谷歌搜索它,绝对没有。我的神配置文件直接来自http://www.synbioz.com/blog/monitoring_server_processes_with_god。我到了那个告诉你尝试上帝独角兽的部分。这是我基于该链接中的一个unicorn.god文件。它略有不同。
rails_root = File.dirname("/home/username/myApp")
God.watch do |w|
pid_file = File.join(rails_root, "myApp/pids/unicorn.pid")
w.name = "unicorn"
w.interval = 60.seconds
w.start = "unicorn -c #{rails_root}/myApp/config/unicorn.rb -D"
w.stop = "kill -s QUIT $(cat #{pid_file})"
w.restart = "kill -s HUP $(cat #{pid_file})"
w.start_grace = 20.seconds
w.restart_grace = 20.seconds
w.pid_file = pid_file
w.behavior(:clean_pid_file)
# When to start?
w.start_if do |start|
start.condition(:process_running) do |c|
# We want to check if deamon is running every ten seconds
# and start it if itsn't running
c.interval = 10.seconds
c.running = false
end
end
# When to restart a running deamon?
w.restart_if do |restart|
restart.condition(:memory_usage) do |c|
# Pick five memory usage at different times
# if three of them are above memory limit (100Mb)
# then we restart the deamon
c.above = 100.megabytes
c.times = [3, 5]
end
restart.condition(:cpu_usage) do |c|
# Restart deamon if cpu usage goes
# above 90% at least five times
c.above = 90.percent
c.times = 5
end
end
w.lifecycle do |on|
# Handle edge cases where deamon
# can't start for some reason
on.condition(:flapping) do |c|
c.to_state = [:start, :restart] # If God tries to start or restart
c.times = 5 # five times
c.within = 5.minute # within five minutes
c.transition = :unmonitored # we want to stop monitoring
c.retry_in = 10.minutes # for 10 minutes and monitor again
c.retry_times = 5 # we'll loop over this five times
c.retry_within = 2.hours # and give up if flapping occured five times in two hours
end
end
end