Django Gunicorn Nginx. 404

#django #nginx

#django #nginx

Вопрос:

Я пытаюсь запустить django gunicorn nginx локально.

По какой-то причине nginx не получает данные из static. Пожалуйста, скажите мне, что я делаю не так?

Gunicorn:

gunicorn config.wsgi:application --bind 127.0.0.1:8001

Конфигурация Nginx:

 # mysite_nginx.conf
upstream project_server {
    server 127.0.0.1:8001;
}
# the upstream component nginx needs to connect to

# configuration of the server
server {
    # the port your site will be served on
    listen 80;
    # the domain name it will serve for
    server_name localhost; # substitute your machine's IP address or FQDN
    # max upload size
    client_max_body_size 75M;   # adjust to taste

    # Django media
    location /media  {
        alias /home/ferom/Programming/my_avatar_clock/media;  # your Django project's media files - amend as required
    }

    location /static {
        alias /home/ferom/Programming/my_avatar_clock/my_avatar_clock/proj/static; # your Django project's static files - amend as required
    }

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header X-Forwarded-Host $server_name;
        proxy_set_header X-Real-IP $remote_addr;
        add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
    }
}
 

Папки:

введите описание изображения здесь

В settings.py

 STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
 

Но когда я открываю http://127.0.0.1/admin/

Nginx скажи мне: 404.

cat /var/log/nginx/error.log — пусто

Что я делаю не так?

Ответ №1:

Возможно, ваш порт unicorn не совпадал с файлом Nginx. Я рекомендую вам попробовать установить один и тот же порт на прокси-серверах Gunicorn и Nginx.

вы говорите, что команда Gunicorn была на порту 8001:

 gunicorn config.wsgi:application --bind 127.0.0.1:8001
 

Но ваш файл nginx был прокси-сервером на порту 8000:

 proxy_pass http://127.0.0.1:8000;