Create a systemd service to run your rails app server.
Ansible tasks to create the service:
--- ...snip... vars: rails_root: "/myapp" rails_user: "webuser" tasks: - name: Setup Rails Web Service template: dest: /usr/lib/systemd/system/rails-web.service src: templates/rails-web.systemd.j2 - name: Enable Rails Web Service systemd: name: rails-web daemon_reload: yes enabled: yes masked: no
The ansible template "rails-web.systemd.j2":
[Unit] Description=Rails Web [Service] Type=simple SyslogIdentifier=rails-web User={{ rails_user }} PIDFile={{ rails_root }}/tmp/pids/web.pid WorkingDirectory={{ rails_root }} ExecStart=/bin/bash -l -c "{{ rails_root }}/bin/rails s -b 0.0.0.0 -p 3000" ExecReload=/bin/kill -s USR2 $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID [Install] WantedBy=multi-user.target
But you can also do this manually by creating the file `/usr/lib/systemd/system/rails-web.service` and then runninh `systemctl daemon-reload` to let systemd know about your service. Now you can start it up with systemctl start rails-web!