Eujene
@Eujene
Айти или не айти?

Как решить беду со связкой nginx и wsgi?

Здравствуйте.

Потребовалось мне развернуть Django приложение. Было решено использовать связку django+wsgi+nginx. Делается все на ubuntu 18.

Сделал следующий конфиг

cat /etc/nginx/sites-available/lottery_service.conf 
#lot_serv.conf

upstream django {
	server 127.0.0.1:8001;
	}



server {

	listen 8000;

	server_name a.b.c.d;

	charset utf-8;

	client_max_body_size 75M;

	location /static {

		alias  /home/lottery_service/lottery_service/lottery_service_backend/static;
	}


	location / {
		uwsgi_pass django;
		include /home/lottery_service/lottery_service/lottery_service_backend/main/wsgi.py;
	}


Тут возникла проблема:
sudo nginx -t
nginx: [emerg] unexpected """ in /home/lottery_service/lottery_service/lottery_service_backend/main/wsgi.py:1
nginx: configuration file /etc/nginx/nginx.conf test failed


Беда в том, что в файле wsgi.py я не вижу ошибок:
cat wsgi.py 
"""
WSGI config for lottery_service project.

It exposes the WSGI callable as a module-level variable named ``application``.

For more information on this file, see
https://docs.djangoproject.com/en/1.11/howto/deployment/wsgi/
"""

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "main.settings")

application = get_wsgi_application()


Помогите с решением, пожалуйста.
  • Вопрос задан
  • 116 просмотров
Решения вопроса 2
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
В файле wsgi.py не хранится конфигурация nginx, поэтому пытаться подключать его директивой include - странное действие.
Ответ написан
Eujene
@Eujene Автор вопроса
Айти или не айти?
Нужно было вот так в nginx uwsgi указывать:
location / {
    include /etc/nginx/uwsgi_params;
  }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы