Gunicorn 和 Supervisor 错误文件没有可执行权限

Pro*_*eus 2 python django supervisord gunicorn

我正在尝试运行此命令:

sudo supervisorctl start gunicorn_process
Run Code Online (Sandbox Code Playgroud)

在 Ubuntu 上,我收到此错误:

在此处输入图片说明

如您所见,文件“确实”具有可执行权限。

gunicorn_process 文件:

[program:gunicorn_process]
command=/srv/domain wsgi:application
directory=/srv/domain
user=root
Run Code Online (Sandbox Code Playgroud)

msv*_*kon 5

command指令需要一个主管运行的可执行命令。

你说你想跑

gunicorn wsgi:application
Run Code Online (Sandbox Code Playgroud)

然后像这样设置你的配置:

[program:gunicorn_process]
command=gunicorn wsgi:application
directory=/srv/domain
user=root
Run Code Online (Sandbox Code Playgroud)

需要考虑的两件事:

  1. 你不应该以 root 身份运行你的 wsgi 应用程序。那里存在潜在的安全问题。创建一个没有额外权限的用户,该权限仅用于运行您的 Web 应用程序和服务器。

  2. 您可能希望更改command指令以包含gunicorn可执行文件的完整路径。做一个which gunicorn找出它存在的地方。例如:command=/usr/bin/gunicorn wsgi:application