title: Puma Systemd Configuration for Rails Not Working
body: <p>I have completed an application which was built using Ruby on Rails. Right now I want to host it on an EC2 instance on AWS.</p>
  
  <p>I have provisioned a server for it, and I am using <code>puma</code> HTTP server as the application server.  Starting the application in production always requires me to run the <code>RAILS_ENV=production rails s</code> which isn't often convenient as it does not return to prompt when the application is started.</p>
  
  <p>I also want to be able to manage Puma with systemd, so that I can easily <code>start</code>, <code>stop</code>, <code>check status</code> and <code>restart</code> the puma server by running a one-line command.</p>
  
  <p>I have tried a lot of solutions online, but when I try to start the server I often get an error:</p>
  
  <pre><code>● puma.service - Puma HTTP Forking Server
     Loaded: error (Reason: Exec format error)
     Active: activating (start) since Mon 2019-12-16 15:33:06 UTC; 59s ago
  Cntrl PID: 4473 (bundle)
      Tasks: 30 (limit: 4703)
     CGroup: /system.slice/puma.service
             ├─4473 puma 3.12.1 (tcp://0.0.0.0:3000) [my-app]
             ├─4522 puma: cluster worker 0: 4473 [my-app]
             └─4527 puma: cluster worker 1: 4473 [my-app]
  
  Dec 16 15:33:06 ip-172-31-19-238 rbenv[4473]: [4473] * Environment: production
  Dec 16 15:33:06 ip-172-31-19-238 rbenv[4473]: [4473] * Process workers: 2
  Dec 16 15:33:06 ip-172-31-19-238 rbenv[4473]: [4473] * Preloading application
  Dec 16 15:33:08 ip-172-31-19-238 rbenv[4473]: [4473] * Listening on tcp://0.0.0.0:3000
  Dec 16 15:33:08 ip-172-31-19-238 rbenv[4473]: [4473] ! WARNING: Detected 1 Thread(s) started in app boot:
  Dec 16 15:33:08 ip-172-31-19-238 rbenv[4473]: [4473] ! #&lt;Thread:0x000055f4b08bf7e0@/home/deploy/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/a
  Dec 16 15:33:08 ip-172-31-19-238 rbenv[4473]: [4473] Use Ctrl-C to stop
  Dec 16 15:33:08 ip-172-31-19-238 rbenv[4473]: [4473] - Worker 0 (pid: 4522) booted, phase: 0
  Dec 16 15:33:08 ip-172-31-19-238 rbenv[4473]: [4473] - Worker 1 (pid: 4527) booted, phase: 0
  </code></pre>
  
  <p>I need some help about this. Thank you in advance.</p>