Comments 14
А зачем dnsmasq если можно в /etc/hosts прописать домен?
mv /etc/nginx/sites-available/<ваш_домен>.conf /etc/nginx/sites-enabled/
Здесь нужен симлинк.
По поводу symlink: проблема в том, что если был отправлен неправильный конфиг, то NGINX не перезапустится или не запустится (в зависимости от его текущего состояния). В связи с этим, если сделать symlink, то будет всего два варианта развития событий (о деталях можно прочитать в официальной документации):
1. NGINX уже был запущен. В таком случае, если тест провалится, то с сервером ничего не случится (поскольку на команду перезапуска он ответит ошибкой) и он продолжит работать на старом конфиге.
2. NGINX не был запущен. В таком случае, он просто не запустится.
Поэтому, это дело вкуса, но я хотел бы оставить за собой возможность безболезненного перезапуска.
DNSMasq нужен, чтобы можно было после автоматически создавать тестовые стенды на основе конфигов и не прописывать каждый раз новые домены на каждом клиенте. Для этого нужно будет лишь добавить адрес нашего сервера в качестве дополнительного DNS на нашем компьютере (у нас это сделано путём модификации resolv.conf и отключением автоматической генерации конфига NetworkManager'ом).
Насколько я знаю, папка sites-available сделана исключительно для удобства пользователя и nginx ничего о ней не знает. В ней держат все конфиги, чтобы они были поближе к nginx.
Папка sites-enabled используется внутри nginx.conf: "include /etc/nginx/sites-enabled/*;", поэтому при "nginx -t" он ее и проверяет. Смысл в симлинке - быстрое включение-выключение конфига.
Про dnsmasq понятно - решение лучше hosts, конечно же. Еще очень бы советовал использовать TLS-сертификаты, хоть бы и самоподписанные - на продакшене у вас все равно с https все работает же? А многие сторонние сервисы типа google auth не разрешают даже редирект на http.
Если говорить про https.
Недавно писали про вот этот проектик https://github.com/Upinel/localhost.direct
Кажется, идея неплохая.
Перед перезапуском nginx нужно проверять конфиги!
nginx -t
И по результату уже рестартить.
По поводу symlink: проблема в том, что если был отправлен неправильный конфиг, то NGINX не перезапустится или не запустится (в зависимости от его текущего состояния). В связи с этим, если сделать symlink, то будет всего два варианта развития событий (о деталях можно прочитать в официальной документации)
Так ведь если вы сделаете mv
, то случится ровно то же самое. В чём вы видите именно дополнительные проблемы ссылок, которых не происходит при использовании вашего подхода?
кажется выглядит идеальным для упихивания в docker
Так, на всякий случай, современные браузеры резолвят домены *.localhost на 127.0.0.1, использую эту возможность+docker
"Дополнительно могу сделать небольшую статью, как вся эта система работает на примере небольшого проекта на Django, где в качестве WSGI будет использоваться Gunicorn."
моги
docker + traefik
sudo nginx -t && sudo nginx -s reload
/etc/nginx/sites-enabled не пользую - пользую /etc/nginx//conf.d/
Подскажите, пожалуйста, какие характеристики сервера указанного в статье или минимальные требования?
Локальный сервер для разработки (dns, nginx & git)