首先,提前感谢您的帮助。
我正在尝试使用 Supervisor 来启动带有 Flask (python3) 项目的 gunicorn。不幸的是,该项目没有启动:
root@play003:/home/debian# supervisorctl status
play FATAL Exited too quickly (process log may have details)
细节:
root@play003:/home/debian#cat /var/log/supervisor/play.log
supervisor: couldn't chdir to /var/www/Play : EACCES
supervisor: child process was not spawned
文件夹所有权似乎一切正常:
root@play003:~$ ls -alh /var/www/
total 12K
drwxr-xr-x 3 root root 4.0K Sep 10 15:12 .
drwxr-xr-x 12 root root 4.0K Sep 10 14:47 ..
drwxrwx--- 7 play play 4.0K Sep 10 16:42 Play
我的配置:
root@play003:~$ cat /etc/supervisor/conf.d/froggyplay.conf
[program:play]
user = play
directory = /var/www/Play
command = /var/www/Play/env/bin/gunicorn -b 0.0.0.0:5000 play:application
priority = 900
autostart = true
autorestart = true
stopsignal = TERM
redirect_stderr = true
stdout_logfile = /var/log/supervisor/%(program_name)s.log
stderr_logfile = /var/log/supervisor/%(program_name)s.log
我已经测试了两个版本的supervisor,但是我目前使用的是3.3.5-1(之前是3.3.1-1)。
你知道为什么我的项目没有启动吗?
谢谢你,罗曼
答案1
我发现了一些有趣的东西。
为了取得进展,我更改了文件夹的权限
root@play003:/var# chmod 755 www/
root@play003:/var/www# chmod 770 Play/
答案2
更改文件夹的权限并不是好的做法。
尝试将您的用户添加到www-data
组并设置文件夹所有者,如下所示:
sudo chown -R user:www-data /path/to/folder
也许您需要在配置文件中添加一个组指令。
group=www-data