Supervisor(Debian Strech)-无法切换到文件夹:EACCES

Supervisor(Debian Strech)-无法切换到文件夹:EACCES

首先,提前感谢您的帮助。

我正在尝试使用 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

相关内容