由非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 
Interesting Posts