Подключение uwsgi с Nginx не работает - PullRequest
0 голосов
/ 28 марта 2020

Решено

см. Основание для исправлений и т. Д. c.

Я пытаюсь совместить nnetc мое django приложение с nginx через uwsgi, но кажется, что передача данных в uwsgi не происходит. Я проверил, что сервер uwsgi работает правильно и не получает никакого вывода журнала ни на одном конце.

uwsgi.ini

[uwsgi]
module = MyDjangoApp.wsgi:application
master = True

;http-socket = :8001 #to run uwsgi on its one to ensure that it works

socket = :8001

vacuum = True
max-requests = 5000
plugin = python3
enable-threads = True

/ Дерево файлов etc / nginx / sites-available

  • по умолчанию
  • serverDjango_ nginx .conf

serverDjango_ nginx .conf:

# the upstream component nginx needs to connect to
upstream django {
    #server unix:///path/to/your/mysite/mysite.sock; # for a file socket
    server 127.0.0.1:8001; # for a web port socket (we'll use this first)
}

# configuration of the server
server {
    # the port your site will be served on
    listen      8000;
    # the domain name it will serve for
    server_name 127.0.0.1; # substitute your machine's IP address or FQDN
    charset     utf-8;

    # max upload size
    client_max_body_size 75M;   # adjust to taste

    # Django media
   # location /media  {
# location /media  {
   #     alias /path/to/your/mysite/media;  # your Django project's media files $
   # }

   # location /static {
   #     alias /path/to/your/mysite/static; # your Django project's static files$
   # }

    # Finally, send all non-media requests to the Django server.
    location / {
        uwsgi_pass  django;
        include     /home/pi/Server/uwsgi_params; # the uwsgi_params file you in$
    }

ОБНОВЛЕНИЕ:

сначала сайт не был включен ... во-вторых, я поместил ссылку на него в / etc / nginx / sites -enabled / как сказано в документации, я получаю эту странную ошибку:

2020/03/29 12:14:18 [emerg] 4344 # 4344: open () "/ etc / nginx / sites -enabled / serverDjango_ nginx .conf "не удалось (2: нет такого файла или каталога) в /etc/nginx/nginx.conf:63

Я заглянул в соответствующий файл конфигурации, чтобы найти

 include /etc/nginx/conf.d/*.conf;
 include /etc/nginx/sites-enabled/*;

и теперь мне интересно, почему id не находит файл, на который я ссылался

sudo ln -s ~ / etc / nginx / sites-available / serverDjango_ nginx .conf / etc / nginx / sites-enabled /

Обновление №2 * 104 6 * поэтому путь ссылки был неправильным из-за: sudo ln -s ~ / etc / nginx / sites-available / serverDjango_ nginx .conf там тильда, которая вынуждает относительный путь, поэтому делает недействительной ссылку

1 Ответ

1 голос
/ 28 марта 2020

Этот сайт - отличный инструмент для генерации ваших Nginx конфигурационных файлов. В вашем блоке server вы должны поместить listen в 80 или 443 (если вы хотите, чтобы он был доступен через стандартные порты http / s). Вы также должны указать, что ваш server_name будет вашим доменом, таким как www.google.com google.com (да, включая оба) или любым другим доменом, на котором вы хотите обслуживать свой Django сайт.

Я не использую UWSGI, как вы делаете в локации тоже. Я просто использую proxy_pass как proxy_pass http://localhost:8001 и затем передаю include для моей конфигурации прокси.

...