Назад | Перейти на главную страницу

Супервайзер не запускается: не удалось… EACCES

Я настраиваю сервер ec2 для запуска проекта django с ngnix и gunicorn. На сервере работает Amazon Linux. Когда я запускаю команду start gunicorn из командной строки, она запускает сервер, но когда я пытаюсь запустить ее из супервизора, я получаю следующую ошибку:

supervisor: couldn't chdir to /home/ec2-user/virtualenvs/wakeup-site/django-site: EACCES
supervisor: child process was not spawned

Это происходит, когда я запускаю супервизор как sudo или как собственный пользователь. Разрешение для каталога: / home / ec2-user / virtualenvs / wakeup-site / django-site

drwxrwxrwx 15 ec2-user ec2-user 4096 Mar  6 08:21 django-site

Соответствующие строки Supervisor.conf:

[program:wakeup]
command=./start_gunicorn.bash
directory="/home/ec2-user/virtualenvs/wakeup-site/django-site"
user=ec2-user
autostart=true
autorestart=true
stdout_logfile=/home/ec2-user/virtualenvs/wakeup-site/django-site/logs/supervisorconf.log
stderr_logfile=/home/ec2-user/virtualenvs/wakeup-site/django-site/logs/gunicorn_stderr.log

start_gunicorn.bash:

#!/bin/bash
# Starts the Gunicorn server
set -e

# Activate the virtualenv for this project
%(ACTIVATE)s

# Start gunicorn going
exec gunicorn wakeup.wsgi:application -c gunicorn.conf.py

Я попытался удалить строку каталога из супервизора и просто сделал команду полным путем, попытался запустить как sudo и удалить строку ect2-user с chown весь каталог как root. Когда я бегу

exec gunicorn wakeup.wsgi:application -c gunicorn.conf.py

из командной строки он работает, и я могу перейти на сайт.

Может кто-нибудь помочь ??

Это похоже на проблему с разрешением. Первый вопрос, который нужно задать себе, если "владельцем каталога является ec2-пользователь", иначе измените его соответствующим образом на фактического пользователя.

пользователь = ec2-пользователь