Я пытаюсь использовать gunicorn для обслуживания статических файлов, прежде чем настраивать nginx как обратный прокси, и я немного запутался.Как Gunicorn собирает статическую?
Когда я запускаю свои приложения, похоже, что gunicorn не может найти статическую папку в приложении.
У меня есть следующий скрипт для запуска приложения Django.
#!/bin/bash
# Start with development server
# echo Start server.
# python manage.py runserver 0.0.0.0:8000
# python manage.py collectstatic --noinput # Collect static files
# # Prepare log files and start outputting logs to stdout
touch /srv/logs/gunicorn.log
touch /srv/logs/access.log
tail -n 0 -f /srv/logs/*.log &
# # Start Gunicorn processes
echo Starting Gunicorn.
exec gunicorn django_project.wsgi:application \
--name ds4dems \
--bind 0.0.0.0:8000 \
--workers 3 \
--log-level=info \
--log-file=/srv/logs/gunicorn.log \
--access-logfile=/srv/logs/access.log \
"[email protected]"
В результате стиль и изображения не собираются из статической папки main_app.
Структура папок следующая.
django_project
---- django_project
---- main_app
-------- static
После того, как я попытался запустить такое же приложение с сервером разработки, и собрана статика. Затем я возобновил работу с Gunicorn, и стили и изображения были отправлены в браузер без ошибок.
Что именно происходит?
Связано ли это с this? Единственная доступная опция для установки nginx, чтобы он мог видеть файлы?
У меня есть чертеж, который может вам пригодиться: http://djangodeployment.com/2016/11/21/how-django-static-files-work-in-production/. Предполагается, что вы используете 'nginx' или' apache', но это может быть полезно, даже если вы используете whitenoise, так как принципы одинаковы. –
Это здорово. Я сделаю плакат этого. :) – sparaflAsh