2016-09-28 5 views
0

Ich kann Puma mit diesem Befehl starten: $ HOME/.rbenv/bin/rbenv exec Paket exec puma -C /home/deploy/tasks/shared/puma.rb --daemon - p 3000 Und die App funktioniert für alle Seiten. Ich habe Nginx oder Apache noch nicht installiert. Ich versuche zuerst und Upstart Puma Skript zuerst zu entwickeln. Ausführen des Befehls:Ubuntu Puma Upstart Script schlägt fehl

$ sudo start puma-manager 
puma-manager start/running 

gibt mir den Eindruck, dass alles, während in Wirklichkeit der Befehl

$ ps -ef | grep puma 

kehrt nichts in Ordnung ist. Graben mehr in die Protokolldatei

$ sudo tail -f /var/log/upstart/puma-_home_deploy_tasks_current.log 

ich so eine Störung erhalte:

[2889] Puma starting in cluster mode... 
[2889] * Version 3.6.0 (ruby 2.3.1-p112), codename: Sleepy Sunday Serenity 
[2889] * Min threads: 5, max threads: 5 
[2889] * Environment: development 
[2889] * Process workers: 2 
[2889] * Preloading application 
[2889] ! Unable to load application: LoadError: Could not load the 'listen' gem. Add `gem 'listen'` to the development group of your Gemfile 
bundler: failed to load command: puma (/home/deploy/tasks/shared/bundle/ruby/2.3.0/bin/puma) 
LoadError: Could not load the 'listen' gem. Add `gem 'listen'` to the development group of your Gemfile 
    /home/deploy/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require' 
    /home/deploy/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `block in require' 
    /home/deploy/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency' 
    /home/deploy/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require' 

Sie wissen nicht, wie dieses Problem zu beheben und nach vorn mit den Puma-Einstellungen bewegen?

Antwort

1

Ich verschrottete die AWS EC2-Instanz und neu erstellen es mit und Ubuntu 14.04 Implementierung, die ich auf 16.04 aktualisiert. Ich folgte streng die Anleitung finden Sie hier

http://codepany.com/blog/rails-5-puma-capistrano-nginx-jungle-upstart/ 

RELATED_LINKS aus dem gleichen Blog.

Jetzt Nginx und Puma arbeiten richtig zusammen und meine app läuft perfekt hier:

http://ec2-54-159-156-217.compute-1.amazonaws.com/ 

Der einzige Unterschied die Leitlinien bilden, ist, dass ich die AWS RDS-Instanz für die Datenbank gehalten. Ich habe RVM im Produktionsserver verwendet, obwohl ich RBNV auf meinem Mac verwende. Ich benutze Ubuntu-Benutzer (wie root) für den Einsatz, da ich vermute, dass alle Probleme, die ich hatte, mit Berechtigungen zusammenhingen und ich nicht wusste, wie man sie behebt.

Viele Fehler aufgetreten früher versucht, richtig Puma auf Sockel zu beginnen und machen mit Nginx arbeiten, schon gar nicht einem Neustart nach

cap production deploy 

die secret zu erzeugen, verwandt waren und diesen Wert in der zuständigen Datei setzen. Für mich hat es am besten funktioniert, es in die /etc/environment Datei zu schreiben.

Ich habe auch Änderungen in der Datei /etc/ssh/sshd_config, um root oder ubuntu Zugriff über ssh zu bekommen. In diesem Fall ist dieser Link

https://forums.aws.amazon.com/thread.jspa?threadID=86876 

sehr nützlich.

Verwandte Themen