Nginx показывает welcome-страницу вместо моего Django-приложения

Здесь /etc/nginx/sites-available/myapp:

server{
listen 80;
listen [::]:80;

server_name .somedomain.com;

location = /favicon.ico{access_log off; log_not_found off;}

location /static/ {root /var/www/myapp;}

location / {include proxy_params;
proxy_pass http://unix:/run/gunicorn.sock;}

}

Nginx не показывает мое приложение вместо welcome-страницы

А также сделал simlimk к sites-enabled.

Я использую Django + gunicorn для работы с этим приложением, поэтому использую ddns и уже установил предпочтения порта маршрутизатора. Gunicorn запускает приложение нормально, но на localhost. Nginx не хочет переносить приложение в домен, хотя во всех руководствах говорится, что он должен просто запустить его, если нет ошибок.

Я ничего не менял в nginx.conf, поэтому он выглядит так:

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
        worker_connections 768;
        # multi_accept on;
}

http {

        sendfile on;
        tcp_nopush on;
        types_hash_max_size 2048;

        include /etc/nginx/mime.types;
        default_type application/octet-stream;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
        ssl_prefer_server_ciphers on;

        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        gzip on;

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

Похоже, что предоставленная вами конфигурация Nginx корректна для обслуживания приложения Django с помощью Gunicorn. Поскольку вы не видите своего приложения, а только страницу приветствия Nginx, вы можете проверить несколько вещей:

  1. Конфигурация домена:

    • Убедитесь, что домен "somedomain.com" правильно настроен и указывает на IP-адрес вашего сервера. Возможно, вам придется настроить это через параметры DNS вашего регистратора доменов.
  2. Конфигурация Nginx:

    • Дважды проверьте, что символическая ссылка на файл конфигурации Nginx в sites-enabled создана правильно и указывает на каталог sites-available, в котором находится ваш файл конфигурации.
    • Убедитесь в отсутствии синтаксических ошибок в конфигурационном файле Nginx (myapp), выполнив команду sudo nginx -t. Если ошибки есть, Nginx предоставит подробную информацию о том, что нужно исправить.
  3. Конфигурация Gunicorn:

    • Убедитесь, что Gunicorn запущен и правильно настроен для обслуживания вашего Django-приложения. Он должен быть привязан к сокету Unix ('/run/gunicorn.sock'), как указано в конфигурации Nginx.
  4. Статические файлы:

    • Убедитесь, что ваши статические файлы правильно собираются и обслуживаются Django. Блок location /static/ в конфигурации Nginx должен указывать на каталог, в котором собираются статические файлы Django ('/var/www/myapp/static/').
  5. Журналы Nginx:

    • Проверьте
    • журнал
    ошибок
  6. Nginx
  7. ('/var/log/nginx/error.log')

    на наличие

    ошибок
      или
    • предупреждений,
    • которые
    могут
  8. указывать
  9. на то,

    почему

    ваше
      приложение
    • не работает
.

Проверив эти пункты, вы сможете выявить все проблемы, мешающие Nginx корректно обслуживать ваше приложение Django.

Вернуться на верх