mod: nginx-конфиг хоста для работы через docker
This commit is contained in:
@@ -3,15 +3,18 @@
|
|||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
#
|
#
|
||||||
# ВНИМАНИЕ:
|
# ВНИМАНИЕ:
|
||||||
# Этот файл является шаблоном. При первом деплое он копируется в `~/docker-app/dq-site/ndq-app--external-nginx.conf`,
|
# Этот файл является шаблоном. При первом деплое он копируется в `/home/user/app/dq-site/config/nginx/dq-app--external-nginx.conf`,
|
||||||
# а затем через силинк в `/etc/nginx/sites-available/` и активируется.
|
# а затем (уже руками) через силинк в `/etc/nginx/sites-available/` и активируется.
|
||||||
# При последующих деплоях он НЕ перезаписывается автоматически, чтобы не затереть SSL-сертификаты и ручные правки.
|
# При последующих деплоях он НЕ ПЕРЕЗАПИСЫВАЕТСЯ автоматически, чтобы не затереть SSL-сертификаты и ручные правки.
|
||||||
#
|
#
|
||||||
# Если вы изменили этот файл в репозитории и хотите применить изменения на проде:
|
# Если вы изменили этот файл в репозитории и хотите применить изменения на проде:
|
||||||
# вам нужно обновить файл в `~/docker-app/dq-site/ndq-app--external-nginx.conf` вручную (diff + copy).
|
# вам нужно обновить файл в `/home/user/app/dq-site/config/nginx/dq-app--external-nginx.conf` вручную (diff + copy).
|
||||||
|
#
|
||||||
|
# Так же (рядом) будет создан образец этого файла `nginx_dq.conf.example`, который будет обновляться при деплоях
|
||||||
|
# из репозитория, чтобы вы могли видеть, что изменилось и при необходимости перенести эти изменения на прод.
|
||||||
#
|
#
|
||||||
# Предполагаемая структура на сервере:
|
# Предполагаемая структура на сервере:
|
||||||
# /home/e-serg/docker-app/dq-site/
|
# /home/user/app/dq-site/
|
||||||
# ├── docker-compose.yml
|
# ├── docker-compose.yml
|
||||||
# ├── .env
|
# ├── .env
|
||||||
# ├── media/ <-- Сюда Nginx смотрит напрямую (Docker volume)
|
# ├── media/ <-- Сюда Nginx смотрит напрямую (Docker volume)
|
||||||
@@ -65,12 +68,30 @@ server {
|
|||||||
# Nginx отдает их напрямую с диска хоста, не дергая Docker.
|
# Nginx отдает их напрямую с диска хоста, не дергая Docker.
|
||||||
# Путь должен совпадать с тем, где лежит volume на хост-машине.
|
# Путь должен совпадать с тем, где лежит volume на хост-машине.
|
||||||
# ВАЖНО: Убедитесь, что пользователь nginx (www-data) имеет права на чтение этой папки!
|
# ВАЖНО: Убедитесь, что пользователь nginx (www-data) имеет права на чтение этой папки!
|
||||||
|
# ТРЕБУЕТСЯ ЗАМЕНА ПРИ ДЕПЛОЕ: /home/user/app/dq-site -> ваш реальный путь
|
||||||
location /media/ {
|
location /media/ {
|
||||||
alias /home/e-serg/docker-app/dq-site/media/;
|
alias /home/user/app/dq-site/media/;
|
||||||
expires 30d; # Кешируем картинки на месяц
|
expires 30d; # Кешируем картинки на месяц
|
||||||
add_header Cache-Control "public, no-transform";
|
add_header Cache-Control "public, no-transform";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# --- СТРАНИЦЫ ОШИБОК (Custom Error Pages) ---
|
||||||
|
# Если Django упал (502) или файл из media не найден Nginx-ом (404), показываем наши красивые заглушки.
|
||||||
|
# Файлы копируются в media/errors при старте контейнера.
|
||||||
|
# ТРЕБУЕТСЯ ЗАМЕНА ПРИ ДЕПЛОЕ: /home/user/app/dq-site -> ваш реальный путь
|
||||||
|
error_page 404 /404.html;
|
||||||
|
error_page 500 502 503 504 /500.html;
|
||||||
|
|
||||||
|
location = /404.html {
|
||||||
|
root /home/user/app/dq-site/media/errors;
|
||||||
|
internal;
|
||||||
|
}
|
||||||
|
|
||||||
|
location = /500.html {
|
||||||
|
root /home/user/app/dq-site/media/errors;
|
||||||
|
internal;
|
||||||
|
}
|
||||||
|
|
||||||
# --- ВСЁ ОСТАЛЬНОЕ (Django + WhiteNoise) ---
|
# --- ВСЁ ОСТАЛЬНОЕ (Django + WhiteNoise) ---
|
||||||
# Статика (/static/), robots.txt, favicon.ico и сам сайт обрабатываются внутри контейнера.
|
# Статика (/static/), robots.txt, favicon.ico и сам сайт обрабатываются внутри контейнера.
|
||||||
# Nginx просто прокидывает запрос внутрь.
|
# Nginx просто прокидывает запрос внутрь.
|
||||||
Reference in New Issue
Block a user