Ich habe ein Rails 4-API-Projekt auf GitHub, und ich versuche, es von meinem MacBook Pro mit Capistrano 3 auf zwei Amazon AWS EC2 Ubuntu-Instanzen mit SSH-Schlüsseln zu verteilen - eines ist die App / Webserver, und der andere ist der PostgreSQL-Datenbankserver. Die App / der Web-Server verfügt über den neuesten Ruby 2 via RVM und bedient die API mit Nginx / Puma . Nginx wird mehrere Websites hosten, von denen eine diese API ist. Dies sind die relevanten Juwelen, die ich benutze:
Bisher habe ich kein vollständiges Capistrano 3 Konfigurationsbeispiel gefunden, das Puma verwendet, aber genauso wichtig wie diese beiden Juwelen für die Rails-Community sind, bin ich sicher, dass es irgendwo auf GitHub ein funktionierendes Rails-Repository gibt, das diese enthält.
Ich habe die offizielle Dokumentation von Capistrano 3 bereits durchgesehen. Ich habe Probleme mit den Unterschieden zwischen Capistrano 2 und Capistrano 3 und würde gerne ein vollständiges Capistrano 3-Beispiel sehen , um die Unterschiede zu verstehen. Im Idealfall suche ich nach einem Open-Source-GitHub-Repository, das alle Konfigurationsdateien ( Capistrano 3 , Puma , Nginx ) enthält und funktioniert auf die ich verweisen kann.
Danke!
Diese Frage ist ziemlich alt, aber ich habe genau das gleiche Setup: Capistrano 3, Puma und nginx also ich denke, es kann noch jemand helfen, zumal Puma jetzt der Standard für Rails 5 ist. Mein Projekt ist nicht Open Source, also ich Ich kann nicht auf ein öffentliches Github-Repository verweisen, aber hier ist meine vollständige Capistrano-Konfiguration für jeden, der es sich ansehen möchte. Es funktioniert seit Monaten einwandfrei.
Um Puma nach dem EC2-Neustart / der Erstellung neuer Instanzen ordnungsgemäß auf dem Produktionsserver zu starten, werfen Sie einen Blick auf meine Antwort hier:
Der Puma-Neustart schlägt beim Neustart fehl mit EC2 + Schienen + Nginx + Capistrano
# config / puma.rb
%Vor%# config / deploy.rb
%Vor%#Capfile
%Vor%# config / deploy / production.rb
%Vor%# lib / capistrano / Aufgaben
%Vor%Nginx Server Konfiguration:
# etc / nginx / sites-enabled / default
%Vor%Ich werde meine Antwort auf Wunsch ergänzen, aber da dies ziemlich einfach ist, mache ich Ihnen nur eine Liste. Mit Capistrano 3 und Puma 2.6 gibt es hier genug, um Sie in Schwung zu bringen:
puma
zu Gemfile
in production
group hinzu. 'capistrano/puma'
von Capfile
. config/deploy.rb
ein. cap puma:config
aus, um die Puma-Konfigurationsdatei auf den Server zu kopieren. cap <stage> deploy
. nginx
ist upstream zu dem Socket-Pfad, der in der Puma-Konfiguration des Servers angegeben ist. nginx
neu. Tags und Links nginx ruby-on-rails-4 amazon-ec2 capistrano puma