#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;