10 python nohup amazon-web-services supervisord
我正在尝试与主管一起开始服务,但我得到一个错误说
INFO spawnerr:为'app_name'制作调度程序的未知错误:EACCES
这是我的supervisord.conf文件:
[supervisord]
logfile=/tmp/supervisord.log
logfile_maxbytes=50MB ; change these depending on how many logs
logfile_backups=10 ; you want to keep
loglevel=info
pidfile=/tmp/supervisord.pid
nodaemon=true
minfds=1024
minprocs=200
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///tmp/supervisor.sock socket
[program:myscript]
command= python -u /home/ubuntu/appfolder/app_name.py
autostart=true
autorestart=unexpected
redirect_stderr=true
stdout_logfile=/var/log/app_name.log
Run Code Online (Sandbox Code Playgroud)
我有同样的问题 - 芹菜子程序日志写在我的app文件夹下的logs子文件夹中,结果www-user
我在调试Nginx的问题时已经设置了所有者.我将app文件夹的所有者更改回ubuntu(>> whoami
)
sudo chown -R ubuntu:ubuntu /var/www/myapp/
Run Code Online (Sandbox Code Playgroud)
让它工作.
问题是日志文件的权限 随着用户运行 supervisor,您可以在 supervisord.conf 文件的相同路径中创建一个“日志”文件夹并更改:
logfile=/tmp/supervisord.log
Run Code Online (Sandbox Code Playgroud)
到
logfile=logs/supervisord.log
Run Code Online (Sandbox Code Playgroud)
当我尝试使用该指令以非 root 用户身份运行时,在非特权Dockersupervisord
容器中运行时会出现此错误。supervisord
[supervisord]
[user]
这是由docker #31243引起的,其中容器启动,root
然后创建/切换到另一个用户(根据supervisord
更改为非 root)以及stdin/stdout/stderr
通过 TTY 对容器的限制性权限。
我的解决方法是将非root用户添加到tty
组eg中useradd -G tty supervisord
,确保您使用ttyegdocker run ... -t
或Docker Compose运行tty: true
。
归档时间: |
|
查看次数: |
9321 次 |
最近记录: |