Супервизор работает в версии 3.0:
pip freeze | grep supervisor
supervisor==3.0
При запуске супервизора из командной строки:
sudo $VIRTENV/supervisord --nodaemon --configuration $PATH_TO_CONFIG/supervisord.conf
Я получаю эту ошибку:
2013-11-11 23:30:50,205 CRIT Supervisor running as root (no user in config file)
Но я не могу начать супервизор без sudo, он жалуется:
Error: Cannot open an HTTP server: socket.error reported errno.EACCES (13)
Каков правильный способ справиться с этим?
(Я получаю ту же ошибку, если ее запускают как root, но устанавливаю user = foobar в разделе [supervisord] в файле supervisord.conf)
Обновление: Вот мой supervisord.conf
[unix_http_server]
file = /opt/run/supervisord.sock
[inet_http_server]
port = 9001
username = foobar
password = foobar
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisord]
logfile = /opt/logs/supervisord.log
loglevel = debug
pidfile = /opt/run/supervisord.pid
[supervisorctl]
[program:foo1]
user = foobar
autostart = True
autorestart = True
command = foo1
stdout_logfile = /opt/logs/foo1.stdout.log
stderr_logfile = /opt/logs/foo1.stderr.log
stdout_logfile_maxbytes = 10MB
stderr_logfile_maxbytes = 10MB
[program:foo2]
user = foobar
autostart = true
autorestart = true
command = foo2
priority = 100
stdout_logfile_backups = 0
stderr_logfile_backups = 0
stdout_logfile_maxbytes = 10MB
stderr_logfile_maxbytes = 10MB
stdout_logfile = /opt/logs/foo2.stdout.log
stderr_logfile = /opt/logs/foo2.stderr.log