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, вы можете проверить несколько вещей:
Конфигурация домена:
- Убедитесь, что домен "somedomain.com" правильно настроен и указывает на IP-адрес вашего сервера. Возможно, вам придется настроить это через параметры DNS вашего регистратора доменов.
Конфигурация Nginx:
- Дважды проверьте, что символическая ссылка на файл конфигурации Nginx в
sites-enabled
создана правильно и указывает на каталогsites-available
, в котором находится ваш файл конфигурации. - Убедитесь в отсутствии синтаксических ошибок в конфигурационном файле Nginx (
myapp
), выполнив командуsudo nginx -t
. Если ошибки есть, Nginx предоставит подробную информацию о том, что нужно исправить.
- Дважды проверьте, что символическая ссылка на файл конфигурации Nginx в
Конфигурация Gunicorn:
- Убедитесь, что Gunicorn запущен и правильно настроен для обслуживания вашего Django-приложения. Он должен быть привязан к сокету Unix ('/run/gunicorn.sock'), как указано в конфигурации Nginx.
Статические файлы:
- Убедитесь, что ваши статические файлы правильно собираются и обслуживаются Django. Блок
location /static/
в конфигурации Nginx должен указывать на каталог, в котором собираются статические файлы Django ('/var/www/myapp/static/').
- Убедитесь, что ваши статические файлы правильно собираются и обслуживаются Django. Блок
Журналы Nginx:
- Проверьте журнал
Nginx - ('/var/log/nginx/error.log')
на наличие
ошибок- или
- предупреждений, которые
указывать - на то,
почему
ваше- приложение
- не работает
Проверив эти пункты, вы сможете выявить все проблемы, мешающие Nginx корректно обслуживать ваше приложение Django.