Garretts Antwort hat wirklich geholfen, wollte nur ein paar weitere Details posten. Es dauerte eine Menge Basteln, um es richtig zu machen ...
Ich benutze Passagier auch, aber Nginx statt Apache.
Erstens, vergessen Sie nicht, Sie müssen Sinatra installieren, das warf mich für eine Weile.
Dann müssen Sie ein Verzeichnis für die Sache zu laufen, und es muss einen öffentlichen und tmp-Ordner haben. Sie können leer sein, aber das Problem ist, dass git kein leeres Verzeichnis im Repo speichert. Das Verzeichnis muss mindestens eine Datei enthalten, daher habe ich einige Junk-Dateien als Platzhalter erstellt.Dies ist ein seltsames Feature/Bug in Git.
Ich benutze das Resque-Plugin, also habe ich das Verzeichnis dort gemacht (wo der Standard config.ru ist). Es sieht so aus, als hätte Garrett ein neues 'resque'-Verzeichnis in seinem rails_root erstellt. Entweder sollte man arbeiten. Für mich ...
cd MY_RAILS_APP/vendor/plugins/resque/
mkdir public
mkdir tmp
touch public/placeholder.txt
touch tmp/placeholder.txt
Dann bearbeitet ich MY_RAILS_APP/vendor/plugins/resque/config.ru
so sieht es so aus:
#!/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
nicht ADD_SOME_PASSWORD_HERE
auf das Passwort Sie die App zu schützen verwenden möchten ändern Vergessen.
Schließlich verwende ich Nginx so hier ist, was ich meine nginx.conf
server {
listen 80;
server_name resque.seoaholic.com;
root /home/admin/public_html/seoaholic/current/vendor/plugins/resque/public;
passenger_enabled on;
}
hinzugefügt Und so ist es auf Ihrem entfaltet neu gestartet wird, wahrscheinlich so etwas wie dies in Ihrem deploy.rb
run "touch #{current_path}/vendor/plugins/resque/tmp/restart.txt"
Ich bin nicht wirklich sicher, ob dies der beste Weg ist, ich habe nie zuvor Rack/Sinatra-Apps eingerichtet. Aber es funktioniert.
Dies ist nur, um die Überwachung App gehen zu lassen. Als nächstes muss ich den Gottteil herausfinden.
Resque ist schrecklich, benutze Sidekiq. –