NOTE: This applies only to pre-1.0.0 versions of Ghost. Ghost v1.0.0 and newer include systemd integration by default.
If you're deploying Ghost on a modern systemd-based Linux distribution, it's easy to get it running as a service. Here's the template that's powering this very blog:
[Unit] Description=Ghost Wants=network-online.target After=network-online.target [Service] Type=simple User=<username> Group=<groupname> WorkingDirectory=</path/to/ghost> ExecStart=/usr/bin/npm start --production [Install] WantedBy=multi-user.target