Почему 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
кажется в основном правильной, но, возможно, вам нужно проверить несколько вещей:
- Убедитесь, что ваше приложение Django правильно обрабатывает
/blog/corgifume-posts/
URL. - Проверьте, включает ли настройка
ALLOWED_HOSTS
в вашем Djangosettings.py
параметрlocalhost
. - Убедитесь, что ваш
uWSGI
сервер работает и правильно обслуживает приложение Django. - Убедитесь, что процесс
uWSGI
имеет правильные разрешения на доступ к файлам вашего проекта Django.
Дополнительно вы можете добавить блок location
для статических файлов в вашу nginx
конфигурацию:
location /static/ {
alias /path/to/your/static/files;
}
Замените /path/to/your/static/files
на реальный путь к вашим статическим файлам.