Rails-App 502 mit AWS Elastic Beanstalk unter Puma und Nginx

Rails-App 502 mit AWS Elastic Beanstalk unter Puma und Nginx

Ich konnte meine Anwendung mit Passenger erfolgreich auf Beanstalk zum Laufen bringen, mit Puma hatte ich jedoch kein Glück. Immer wenn ich auf einem Puma-Stack bereitstelle, erhalte ich 502-Fehler. Meine Protokolldateien zeigen an, dass die Sock-Datei nicht gefunden werden kann:

2014/05/15 21:00:15 [crit] 1684#0: *4 connect() to unix:///var/run/puma/my_app.sock failed (2: No such file or directory) while connecting to upstream, client: 10.184.156.117, server: _, request: "GET / HTTP/1.1", upstream: "http://unix:///var/run/puma/my_app.sock:/", host: "app-env-89spnxpcai.elasticbeanstalk.com"

Meine App basiert auf Ruby 2.0.0p451 und Rails 4.1.1

Meine .ebextensions-Konfiguration sieht so aus

packages:
  yum:
    git: []

commands:
  add_bundle_exec:
    test: test ! -f /opt/elasticbeanstalk/support/.post-provisioning-complete
    cwd: /opt/elasticbeanstalk/hooks/appdeploy/pre
    command: perl -pi -e 's/(rake)/bundle exec $1/' 11_asset_compilation.sh 12_db_migration.sh
  add_deployment_flag:
    test: test ! -f /opt/elasticbeanstalk/support/.post-provisioning-complete
    cwd: /opt/elasticbeanstalk/hooks/appdeploy/pre
    command: perl -pi -e 's/(bundle install)/$1 --deployment/' 10_bundle_install.sh
  make_vendor_bundle_dir:
    test: test ! -f /opt/elasticbeanstalk/support/.post-provisioning-complete
    command: mkdir /var/app/support/vendor_bundle
  set_vendor_bundle_var:
    test: test ! -f /opt/elasticbeanstalk/support/.post-provisioning-complete
    cwd: /opt/elasticbeanstalk/support
    command: sed -i '12iexport EB_CONFIG_APP_VENDOR_BUNDLE=$EB_CONFIG_APP_SUPPORT/vendor_bundle' envvars
  symlink_vendor_bundle:
    test: test ! -f /opt/elasticbeanstalk/support/.post-provisioning-complete
    cwd: /opt/elasticbeanstalk/hooks/appdeploy/pre
    command: sed -i 's/\(^cd $EB_CONFIG_APP_ONDECK\)/\1\nln -s $EB_CONFIG_APP_VENDOR_BUNDLE .\/vendor\/bundle/' 10_bundle_install.sh
  z_write_post_provisioning_complete_file:
    cwd: /opt/elasticbeanstalk/support
    command: touch .post-provisioning-complete 

Was mache ich falsch, brauche ich etwas besonderes, damit es mit Puma funktioniert?

Antwort1

Dieses Problem tritt bei der neuesten Version nicht auf – 64-Bit Amazon Linux 2014.03 v1.0.5 mit Ruby 2.0 (Puma).

Antwort2

Durch die Änderung config.force_ssl = truewurde falsedas Problem für mich behoben

verwandte Informationen