Почему NGINX не работает с проектом Django?

У меня есть проект Django, который работает с помощью настроенного веб-сервера Django. Я хочу использовать nginx и uWSGI. Я создал каталог в корневой папке Django под названием nginx/nginx.conf и nginx/default.conf для установки nginx. Ir успешно работает при http://localhost:8080 и показывает стартовую страницу nginx (сайт также запускается с uwsgi --http :8000 --module brand_site.wsgi). Но когда я пробую http://localhost:8080/blog/corgifume-posts/, он показывает 404 Not Found. В чем проблема? Почему мой сайт не работает с nginx?

nginx.conf

worker_processes 1;

events {
    worker_connections 1024;
}

http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;
    include /opt/homebrew/etc/nginx/uwsgi_params; # where my uwsgi_param stores in local machine
    server_tokens off;
    include /opt/homebrew/etc/nginx/default.conf; 
}

default.conf

server {
    listen 8080; # what port to listen
    server_name localhost;

    location / {
        proxy_pass http://127.0.0.1:8000; # where to address requests 
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

uwsgi.ini

[uwsgi]
wsgi-file = config/wsgi.py

strict = true  
socket = :8000 
protocol = http

master = true  

no-orphans = true   

die-on-term = true  

lazy-apps = true

processes = 4  

threads = 8   

enable-threads = true  

max-requests = 500

reload-on-rss = 1024

worker-reload-mercy = 60

harakiri = 60
harakiri-verbose = true

vacuum = true

post-buffering = 1048576

buffer-size = 65535

Путь к моему сайту: /Users/nnhufg/Desktop/CORGIFUME/brand_site

Ваша конфигурация nginx кажется в основном правильной, но, возможно, вам нужно проверить несколько вещей:

  1. Убедитесь, что ваше приложение Django правильно обрабатывает /blog/corgifume-posts/ URL.
  2. Проверьте, включает ли настройка ALLOWED_HOSTS в вашем Django settings.py параметр localhost.
  3. Убедитесь, что ваш uWSGI сервер работает и правильно обслуживает приложение Django.
  4. Убедитесь, что процесс uWSGI имеет правильные разрешения на доступ к файлам вашего проекта Django.

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

location /static/ {
    alias /path/to/your/static/files;
}

Замените /path/to/your/static/files на реальный путь к вашим статическим файлам.

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