Использую связку django + django rest framework + nginx с виртуальным окружением. Настраивала nginx вот как тут
https://habr.com/ru/post/226419/.
Проблема в следующем - если использовать стандартный сервер (командой ./manage.py runserver
), в postman все урлы и запросы работают корректно. При запуске uWSGI (uwsgi --ini rest_api_uwsgi.ini), все корректно работает только в браузере, в postman же на все урлы 404. В консоли никаких сообщений, о том, что отправлены запросы нет, в логах ошибок тоже нет. В это же время такие же запросы прекрасно обрабатываются в браузере и в консоли видно, что было отправлено. Кто-нибудь сталкивался с таким?
На всякий случай вот конфиг
# mysite_nginx.conf
upstream django_rest {
server unix:///public_html/rest_api/rest_api.sock; # взаимодействие с uwsgi через Unix-сокет
# server 127.0.0.1:8001; # взаимодействие с uwsgi через веб-порт
}
# конфигурация веб-сервера
server {
# порт, который будет слушать веб-сервер в ожидании запросов от пользователй
listen 8000;
# доменное имя
server_name localhost; # замените на собственный домен или IP адрес
charset utf-8;
# максимальный размер загружаемых на сервер данных
client_max_body_size 75M;
# обслуживание медиа файлов и статики
location /media {
alias /public_html/rest_api/media; # расположение медиафайлов (при необходимости измените)
}
location /static {
alias /public_html/rest_api/static; # расположение статики (при необходимости измените)
}
# Остальные запросы перенаправляются в Django приложение
location / {
uwsgi_pass django_rest;
include /public_html/rest_api/uwsgi_params;
}
}