Supervisor is a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems.
-- Supervisor: A Process Control System — Supervisor 4.2.5 documentation
- HTTP server to monitor your services. It can be enabled by specifying the [inet_http_server] setting inside
/etc/supervisor/supervisord.conf
. It shouldn't be exposed on the internet though. - Easy to set up log rotation. It can also be configured with Logrotate.
- needs additional installation, in contrast to Systemd, that comes pre-installed on most linux distributions
- can not bind to privileged ports, smaller than 1024. This might be ok if you don't need it, or you place a web server in front of your application, such as nginx, but for a truly minimal set up, the Systemd "AmbientCapabilities" allows you to bind to port 80 or 443 directly.
- simpleisbetterthancomplex.com: Django tutorial, that uses Supervisor and nginx to deploy a Django application