You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Gunicorn+Nginx部署Django时supervisor子进程启动失败如何解决

问题核心原因

EACCES错误本质是supervisor进程无法执行/home/paulauzca/bin/gunicorn_start脚本,或是脚本、依赖路径的权限配置错误,加上你两处配置错误共同导致进程反复重启,运行时长始终为0。

分步解决方案

1. 给gunicorn_start脚本添加可执行权限

执行命令给脚本本身加执行属性:

chmod +x /home/paulauzca/bin/gunicorn_start

2. 修正上层目录访问权限

supervisor运行时需要遍历到脚本所在路径,执行命令开放目录访问权限:

chmod 755 /home/paulauzca
chmod 755 /home/paulauzca/bin

3. 修正supervisor配置错误

你当前的PlantArte.conf存在两处明显错误:

  • 配置文件开头不需要加#!/bin/sh,supervisor配置不是shell脚本,该行会导致解析错误
  • command行不能加--daemon参数,supervisor管理的进程不能后台运行,否则supervisor会认为进程已退出反复重启

修改后的完整配置如下:

[program:PlantArte]
command=/home/paulauzca/bin/gunicorn_start
user=paulauzca
startsecs=0
autostart=true
autorestart=true
redirect_stderr=true
environment=PYTHONPATH=$PYTHONPATH:/home/paulauzca/bin/python
stdout_logfile=/home/paulauzca/logs/gunicorn-error.log

4. 修正gunicorn_start脚本的参数错误

你提供的脚本中--name $NAME\行,$NAME后缺少空格,会导致参数拼接异常,修改对应段落为:

exec ../bin/gunicorn ${DJANGO_WSGI_MODULE}:application \
   --name $NAME \
   --workers $WORKERS \
   --user=$USER \
   --group=$GROUP \
   --bind=$BIND \
   --log-level=$LOG_LEVEL \
   --log-file=-

5. 确保运行目录、日志目录权限正确

执行命令创建必要目录并修正归属:

mkdir -p /home/paulauzca/run /home/paulauzca/logs
chown -R paulauzca:paulauzca /home/paulauzca/run /home/paulauzca/logs

6. 重载supervisor配置生效

执行以下命令重启服务:

sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl restart PlantArte

完成后执行sudo supervisorctl status PlantArte即可查看正常运行状态。

内容的提问来源于stack exchange,提问作者pauzca

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 23:54:03