In this short tutorial, we'll look into how to install supervisor on our machine and configure it properly.
Supervisor is a client/server system used to control a number of UNIX processes, more specifically processes related to a project or a customer. For example, you could use supervisor to spawn and monitor an arbitrary number of worker queues of your web application.
Install supervisor with
sudo apt-get install supervisor
on Unix based systems and
brew install supervisor
on MacOSX based systems.
service supervisor status
Supervisor configuration directory is
/etc/supervisord/conf.d , we can create our custom
.conf file inside of this directory.
Also, we can adjust our main
/etc/supervisor/supervisord.conf file as per our requirements, likeso,
; supervisor config file [unix_http_server] file=/var/run/supervisor.sock ; (the path to the socket file) chmod=0770 ; sockef file mode (default 0700) chown=root:supervisor [supervisord] logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log) pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid) childlogdir=/var/log/supervisor ; ('AUTO' child log dir, default $TEMP) ; the below section must remain in the config file for RPC ; (supervisorctl/web interface) to work, additional interfaces may be ; added by defining them in separate rpcinterface: sections [rpcinterface:supervisor] supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface [supervisorctl] serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket ; The [include] section can just contain the "files" setting. This ; setting can list multiple files (separated by whitespace or ; newlines). It can also contain wildcards. The filenames are ; interpreted as relative to this file. Included files *cannot* ; include files themselves. [include] files = /etc/supervisor/conf.d/*.conf
Save & exit the file and restart supervisor likeso,
sudo service supervisor restart
You can also check supervisor status by running the following command
systemctl status supervisord.service