2016-09-26 6 views
1

** ПРОВЕРЕНО ВСЁ НА Stack Overflow **Gunicorn + Django + руководитель - руководитель не может начать Gunicorn: ENOENT

Я развернут Django с помощью gunicorn и Nginx. Проект django расположен в виртуальной среде. Все прекрасно работает, когда я бег -

gunicorn mydjangoproject.wsgi -c gunicorn_config.py

Я бег вышеупомянутой команды в моей папке проекта Django, содержащей manage.py с виртуальной средой активной.

Однако теперь я хочу закрыть серверный терминал и хочу, чтобы gunicorn запускался автоматически. Для этого я использую Супервизор. Я установил супервизора, используя apt-get, и создал файл gunicorn.conf в conf.d диспетчера.

Но когда я бегу supervisorctl начать gunicorn Я получаю фатальную error-
gunicorn: Ошибка (аварийное завершение)

Так проверил файл журнала и says-

руководитель: не мог EXEC корень/ervirtualenvpy2/бен/gunicorn: ENOENT
процесс ребенок не порождал

Мой конфигурационный файл для gunicorn.conf супервизора выглядит this-

[program:gunicorn] 
command = root/ervirtualenvpy2/bin/gunicorn myproject.wsgi -c  root/path/to/the/gunicorn_conf.py/file 
directory = root/ervirtualenvpy2/path/to/myproject/ 
user=root 
autorestart=true 
+0

ENOENT означает, что файл не найден. Проверьте права доступа к файлу и прав супервизора. –

+0

Почему вы так сильно хотите использовать супервизор, а не выскочку или систему, которая уже включена в вашу систему? –

+0

Ну, я использую супервизор, потому что в будущем я хочу добавить сельдерей, rabbitmq и memcached в свой проект, и я действительно новичок во всех настройках и развертывании сервера, поэтому я мало знаю о выскочке и systemd. Я полагаюсь на информацию, которую я нашел, когда начал изучать эту установку, и я впервые столкнулся с супервизором. –

ответ

1

Идя тем, что вы сказали, и ваш конфигурационный все кажется правильным, за исключением того, что вы указали относительный путь, а не абсолютный путь:

см gunicorn docs

Вместо этого он должен быть:

[program:gunicorn] 
command = /root/ervirtualenvpy2/bin/gunicorn myproject.wsgi -c /root/path/to/the/gunicorn_conf.py/file 
directory = /root/ervirtualenvpy2/path/to/myproject 
user=root 
autorestart=true