Initial commit: setup deploy workflow
Some checks failed
Deploy timelaps / deploy (push) Failing after 1s
Some checks failed
Deploy timelaps / deploy (push) Failing after 1s
This commit is contained in:
57
nginx/default.conf
Normal file
57
nginx/default.conf
Normal file
@@ -0,0 +1,57 @@
|
||||
# Описываем группу серверов, куда Nginx будет перекидывать запросы.
|
||||
# 'web' — это имя сервиса из нашего docker-compose.yml.
|
||||
upstream django_app {
|
||||
server web:8000;
|
||||
}
|
||||
|
||||
server {
|
||||
# Слушаем стандартный 80-й порт (HTTP).
|
||||
listen 80;
|
||||
|
||||
# Список имен, на которые будет откликаться сервер.
|
||||
# Если зайти по другому IP, Nginx может выдать ошибку.
|
||||
server_name shiftflow.tertelius.space 192.168.1.108 localhost;
|
||||
|
||||
# Увеличиваем лимит загрузки (по умолчанию в Nginx всего 1МБ).
|
||||
# 100М — чтобы ты мог спокойно грузить тяжелые чертежи или фото станков.
|
||||
client_max_body_size 100M;
|
||||
|
||||
# Включаем Gzip-сжатие. Nginx будет сжимать текстовые файлы перед отправкой,
|
||||
# что ускорит загрузку интерфейса, особенно на слабом интернете.
|
||||
gzip on;
|
||||
gzip_types text/plain text/css application/json application/javascript text/xml;
|
||||
|
||||
# Главный блок: всё, что не статика, летит в Django.
|
||||
location / {
|
||||
proxy_pass http://django_app;
|
||||
|
||||
# Передаем оригинальный домен/IP (нужно для ALLOWED_HOSTS в Django).
|
||||
proxy_set_header Host $host;
|
||||
# Передаем реальный IP пользователя (чтобы в логах видеть, кто зашел).
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
|
||||
# Передаем протокол (http или https).
|
||||
# КРИТИЧНО для CSRF защиты, чтобы Django не ругался при входе в админку.
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
|
||||
proxy_redirect off;
|
||||
}
|
||||
|
||||
# Раздача статики (CSS, JS, картинки интерфейса).
|
||||
# Nginx сам лезет в папку, не беспокоя Django — это очень быстро.
|
||||
location /static/ {
|
||||
# Путь ВНУТРИ контейнера Nginx (куда мы примонтировали волюм).
|
||||
alias /app/staticfiles/;
|
||||
# Заставляем браузер кэшировать стили на 30 дней, чтобы не качать их каждый раз.
|
||||
expires 30d;
|
||||
add_header Cache-Control "public, no-transform";
|
||||
}
|
||||
|
||||
# Раздача медиа-файлов (чертежи, фото продукции).
|
||||
location /media/ {
|
||||
alias /app/media/;
|
||||
expires 30d;
|
||||
add_header Cache-Control "public, no-transform";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user