Solución:
No es posible utilizar rails s puma
para cargar su archivo de configuración de puma, como se confirma aquí https://github.com/puma/puma/issues/512, es posible que desee echar un vistazo a una pregunta similar aquí ¿Cómo puedo hacer que ‘puma’ se inicie, automáticamente, cuando ejecuto `rails server` (como lo hace Thin) donde se discute esto
Descubrí que usar Foreman (https://github.com/ddollar/foreman) es una buena solución para esto y también brinda flexibilidad adicional.
Heroku ha escrito una buena guía para esto (https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server). A continuación se muestra un comienzo muy rápido.
Paso 1: Instale Foreman. Ejemplo para Mac OS X a continuación, guía completa en el sitio de Foreman
$ brew install foreman
Paso 2: Agregue esto a su Gemfile:
gem 'puma'
Paso 3: Cree un archivo llamado Procfile:
web: bundle exec puma -C config/puma.rb
Paso 4: Ahora inicie su aplicación usando
$ foreman start
00:36:05 web.1 | started with pid 19869
00:36:05 web.1 | [19869] Puma starting in cluster mode...
00:36:05 web.1 | [19869] * Version 2.11.1 (ruby 2.2.1-p85), codename: Intrepid Squirrel
00:36:05 web.1 | [19869] * Min threads: 1, max threads: 1
00:36:05 web.1 | [19869] * Environment: development
00:36:05 web.1 | [19869] * Process workers: 1
00:36:05 web.1 | [19869] * Preloading application
00:36:07 web.1 | [19869] * Listening on tcp://0.0.0.0:3000
00:36:07 web.1 | [19869] Use Ctrl-C to stop
00:36:07 web.1 | [19869] - Worker 0 (pid: 19870) booted, phase: 0
Desafortunadamente no puedes. Hoy tuve que hacer que Puma trabajara con ssl en mi entorno de desarrollo, así que edité el archivo config / puma.rb en mi aplicación rails (Rails 5) y agregué:
ssl_bind '127.0.0.1', '3000', {
key: 'path_to_you_key_file', #/Users/DevRuby/.ssh/server.key
cert: 'path_to_yout_cert_file', #/Users/DevRuby/.ssh/server.crt
verify_mode: 'none' #fix errors due to self-signed certificate
}
Y agregué a mi config / environment / development.rb la siguiente línea para permitir que los registros se envíen a STDOUT:
config.logger = ActiveSupport::TaggedLogging.new(ActiveSupport::Logger.new(STDOUT))
Y en lugar de iniciar mi aplicación usando #rails s, estoy usando ahora el comando #puma que carga todas las configuraciones en el archivo de configuración config / puma.rb.