由非root用户启动pipe理员
在使用非root用户启动supervisord时遇到问题。 我有一个新的debian jessie系统(docker image)。
- 我安装了supervisord
apt-get install supervisor
- 我创build一个新用户
useradd lily
- 切换到那个用户
- 启动supervisord
supervisord -n
在这一步我得到一个错误/var/log/supervisor/supervisor.log (Persimission error)
我可以chmod这个日志文件,所以百合将有权访问,但我做到了( chmod 777 -R /var/log/supervisor/
)并运行supervisord supervisord -n
与莉莉的用户我得到这个错误:
Error: Cannot open an HTTP server: socket.error reported errno.EACCES (13)
我很困难,试图解决它。 我在openshift环境中进行部署,所以我将拥有root权限来设置环境,但启动supervisord时,我将不具有root权限。 在我的情况下,它必须由普通用户启动。
如上所述
您需要指定应该使用哪种用户帐户,以root用户身份运行守护程序,但在configuration文件中指定用户
[program:myprogram] command=gunicorn --worker-class socketio.sgunicorn.GeventSocketIOWorker app.wsgi:application -b 127.0.0.1:8000 directory=/opt/myprogram user=user1 autostart=true autorestart=true redirect_stderr=True