Как запускать Django на production
Python
Junior
Без компании
Как запускать Django на production
Ответы
Для запуска Django в production необходимо выполнить несколько ключевых шагов:
- **Настройки проекта**:
В `settings.py` установи `DEBUG = False`, укажи корректные `ALLOWED_HOSTS`, настрой `STATIC_ROOT` и `STATIC_URL`, а также подключи базу данных (PostgreSQL/MySQL вместо SQLite).
- **Сбор статики**:
```
python manage.py collectstatic
```
- **ASGI/WSGI сервер**:
Используй Gunicorn или uWSGI для обработки запросов:
```
gunicorn myproject.wsgi:application --bind 0.0.0.0:8000 --workers 4
```
- **Веб-сервер**:
Настрой Nginx/Apache как reverse proxy для Gunicorn/uWSGI. Пример конфига Nginx:
```
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
}
location /static/ {
alias /path/to/static/;
}
```
- **Дополнительно**:
- Настрой HTTPS (Let's Encrypt)
- Используй `.env` для секретов
- Мониторинг (Sentry, Prometheus)
Для ASGI (например, с Channels) используй Daphne или Uvicorn.