Ответ Гарретта действительно помог, просто хотел опубликовать еще несколько деталей. Требовалось много усилий, чтобы понять это правильно ...
Я также использую пассажир, но вместо apache nginx.
Во-первых, не забывайте, что вам нужно установить sinatra, это меня немного отбросило.
sudo gem install sinatra
Затем вам нужно создать каталог для запуска, и он должен иметь общую папку и папку tmp. Они могут быть пустыми, но проблема в том, что git не будет сохранять пустой каталог в репозитории. В каталоге должен быть хотя бы один файл, поэтому я сделал несколько ненужных файлов в качестве заполнителей. Это странная особенность / ошибка в git.
Я использую плагин resque, поэтому я сделал каталог там (где по умолчанию config.ru). Похоже, что Гаррет создал новый каталог «resque» в своем rails_root. Либо надо работать. Для меня ...
cd MY_RAILS_APP/vendor/plugins/resque/
mkdir public
mkdir tmp
touch public/placeholder.txt
touch tmp/placeholder.txt
Затем я отредактировал MY_RAILS_APP/vendor/plugins/resque/config.ru
, чтобы он выглядел так:
#!/usr/bin/env ruby
require 'logger'
$LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/lib')
require 'resque/server'
use Rack::ShowExceptions
# Set the AUTH env variable to your basic auth password to protect Resque.
AUTH_PASSWORD = "ADD_SOME_PASSWORD_HERE"
if AUTH_PASSWORD
Resque::Server.use Rack::Auth::Basic do |username, password|
password == AUTH_PASSWORD
end
end
run Resque::Server.new
Не забудьте изменить ADD_SOME_PASSWORD_HERE
на пароль, который вы хотите использовать для защиты приложения.
Наконец, я использую Nginx, вот что я добавил в свой nginx.conf
server {
listen 80;
server_name resque.seoaholic.com;
root /home/admin/public_html/seoaholic/current/vendor/plugins/resque/public;
passenger_enabled on;
}
И поэтому он перезапускается на ваших развертываниях, возможно, что-то подобное в вашем deploy.rb
run "touch #{current_path}/vendor/plugins/resque/tmp/restart.txt"
Я не совсем уверен, что это лучший способ, я никогда не настраивал приложения стоек / sinatra. Но это работает.
Это просто для запуска приложения мониторинга. Далее мне нужно выяснить роль бога.