Pull to refresh

Comments 15

За инструкцию спасибо. Вопрос по миграции: может лучше так:

python3 manage.py migrate --run-syncdb

Вроде как подчищается всё старое, и вообще ...

Я пользуюсь gunicorn за nginx Тоже нормально. Все упаковано в контейнеры docker.
Тут скорее вопрос как перезапустить все чтобы у пользователей на сайте падения на время перезапуска. Это же не мгновенно - перезапуск 100500 микросервисов пачкой

Использовать Kubernetes со стратегией rolling update.

Ну вот опять снова. Добро пожаловать в клуб писателей статей про деплой джанго на убунте.

Постоянные члены приветствуют вас: раз, два, три, четыре.. Ну и я отметился немного. Остальных лень искать просто. Со статьи на DigitalOcean вообще начинают все, по-моему.

Привет вам из 2022 года, кстати. Ubuntu 20.04, хоть и LTS, но новая выходит уже через 3 месяца и, соответственно, ценность вашей статьи "слегка" упадет. А ее могут найти и через 3 года. Python, кстати, тоже уже 3.10 вышел.

Типичный вопрос - а где контейнеры? А где сертификаты?

Ubuntu 20.04, хоть и LTS, но новая выходит уже через 3 месяца и, соответственно, ценность вашей статьи "слегка" упадет

Любители Bleeding Edge обычно не сидят на LTS версиях Ubuntu :)

меня смутил 1 воркер (я ставлю 3); и про сертификаты сейчас писать надо сразу, потому что без HTTPS далеко не уехать. И, конечно, лучше делать конфиг в /etc/nginx/sites-available, и следующим шагом делать ln -s линк в /etc/nginx/sites-enabled. Иначе, когда будете варианты делать, nginx будет с ума сходить от количества противоречивых записей и откажется запускаться.

а цель у нас одна - задеплоить уже наконец этот **** проект!

...

то была огромная "простыня" текста, читать которую было слишком долго.

That's the spirit! Может и не лезли бы тогда делиться мудростью?

По существу. Руками ничего делать не надо. Никогда. Надо писать скрипты и запускать их. Вот хотите с нуля сконфигурировать машину - пишете скрипт, кладёте в гит. Запускаете его. Получаете сконфигурированную машину. Хотите задеплоить версию сайта из гита - пишете скрипт, кладёте в гит. Запускаете его. Получаете новую задеплоенную версию. Это позволяет добиться прозрачности и воспроизводимости. Под скриптами понимается что угодно от баша на коленке до всяких там терраформов.

Для этого есть Nginx Unit с поддержкой питона.

Простите, для чего - "для этого"? Nginx Unit, судя по всему, может заменить только gunicorn, но будет ли что-то лучше после этого?

Nginx + gunicorn/uwsgi
В статье больше ничего и нет.

А вы сами-то его используете?

Unit заменяет только gunicorn. Перед ним все равно надо ставить еще, например, nginx.

Конфиги в json, как по мне - довольно спорная фича. Ни строчку не закомментировать, ни запятую не пропустить, да и скобок миллион... Валидируется проще, конечно, и парсер легче чем yaml... API есть - это плюс.

Да и с поддержкой, как тут написали, все непонятно. На StackOverflow всего 16 вопросов по тегу.

Не надо перед ним ничего ставить. Он заменяет nginx.
Использовал на нескольких проектах.

Все-таки, "заменяет nginx" - это очень громко сказано. Он даже позиционируется как "app server". Статику он может раздавать, но кэширования - нет. Авторизации - нет, вообще никакой. Да что там говорить - даже gzip упаковки при передаче нет. Только если приложение само это все реализует.

Конфиг в nginx - это свой язык. Там можно и переменные определять, и логику писать.

Я уж даже не буду упоминать про расширение nginx с помощью lua-скриптов, например.

UFO just landed and posted this here
Sign up to leave a comment.

Articles