Планировал написать телеграм бота для учета финансов на выходных, но чёт зарубился с настройкой сервера и решил собрать наконец template под это дело. Бота не написал, но шаблон тоже полезен, думаю:)
После телеги может апи? Универсальный какой-нибудь для джанго с фласком, может с теми же финансами. + на этом примере можно и тему ооп раскрыть, разные вариации классов показать... =)
Я лично джангу использую только с докером после того как столкнулся с проблемой устновки пакета для работы с mysql, для установки которого, оказывается, нужно под рутом ставить еще какие-то утилиты
Это очень круто, конечно. Как и весь контент. Но может быть вы посоветуете что и где почитать в качестве базовых знаний? Куча материалов по Django-проектам, а как их действительно в работу запускать - непонятно.
Алексей, спасибо большое за ваши видео. Я понимаю, что видеоблогинг для вас это просто увлечение, но могу ли я вас попросить выпускать видео почаще? И хотелось бы от вас видео где вы разворачиваете бэк на Django REST Framework, а фронт на любом JS фреймворке и всё связываете воедино с load balancer и дополнительными плюшками от вас.)) Извините за наглость.)
Подскажите пожалуйста как правильно установить python перед выполнением, установил так : sudo apt-get git nginx gunicorn systemd python3 А потом возникает ошибка с виртуальным окружением и pip ./install.sh: line 8: The: command not found ./install.sh: line 9: env/bin/activate: No such file or directory ./install.sh: line 10: pip: command not found ./install.sh: line 11: pip: command not found
Дело в том, что автор "забыл" сказать, что "на абсолютно чистой машине", он за кадром, установил много чего ещё. Конкретно тут, не хватавет пакетов python*-dev python*-venv python*-pip Вы обращаетесь в 8 строке к модулю venv, который автор ролика, ставит на сервер до ролика. Если описывать всё по нормальному, то ролик не будет таким кликбейтным, а установка такой "простой". =) Но думаю, за 2 года, вы уже научились ставить окружение или забили болт на питон ;)
@@t0digital Мне кажется можно начинать подбрасывать и более глубинные темы, расширят захват аудитории, тем более с вашей интересной манерой излагать суть вещей :)
@@t0digital Архитектура приложений, паттерны, распределенные реестры данных, нейросети, правильные ui и психология)) Возможно вы что то затрагивали и я не успел ознакомится)
Есть опасность в скрипте. Нет конфигтеста джинкса. Если на сервере уже что-то крутится, а конфиг не верный, то без конфигтеста скрипт положит работающие приложения. Лучше сразу, до установки остального, проверить. Плюс было бы круто сразу инициировать контроль версий в новом проекте. Так же нет проверки на наличие python3-venv.
Поднять за две команды, но перед этим нужно настроить целый конфиг. Разве это не тоже самое, что поднять докер с одной команды docker-compose up -d только настроить перед этим тот самый compose.yml?
докер не заменяет знаний того, как всё конфигурится - докер добавляет к этим знаниям необходимость знания ещё и докера. Докер хорош и удобен, но он не панацея
@@t0digital согласен. Но по названию видео, можно подумать что этот вариант таки панацея действительно работает в две команды, и не требует знаний по настройке конфига. Даже virtualenv не заработает как нужно в две команды, придется инсталлить все что необходимо.
Полезное дело) а почему используете символические ссылки для конфигов? если случайно что-то переименуете в репозитории проекта, то при выгрузке свежего кода все такие конфиги "пропадут"
А вот ещё было бы интересно посмотреть как этот самый телеграм-бот делать не просто так, а через какую-нибудь систему Continuous Integration. Jenkins или там что сейчас популярно? :) Я понимаю что для телеграм-бота это тоже оверхед. Но может быть подойдёт как тема для будущих роликов.
@@t0digital Спасибо за ответ! В свое время на такой, казалось бы, простой теме потратил много времени. Возможно, Вы могли бы сэкономить его для подписчиков, сделав короткое видео на эту тему, тем более что такой "шорт-рецепт" формат у Вас замечательно получается.
Вопросик про количество воркеров... Если на vps 1 проект = с этим понятно. А если на впс несколько проектов, то сколько воркеров на проект запускать? Все так же 2 * количество ядер + 1 пока память не кончится?))
это не жесткое правило. Если 5 проектов и на один идет трафик, а остальные так висят, чтобы было - то более нагруженному проекту конечно можно/нужно дать больше ресурсов.
Можно поднять Линукс на домашней машине и развернуть все там. Если купить ещё белый IP у провайдера (постоянный IP), то вот тебе и полноценный сервер. Но в целом ovh даёт дешёвые сервера, проще купить. На selectel, яндекс cloud, Google cloud можно арендовать железку хоть на час.
@@t0digital Спасибо за быстрый ответ. Поставил вчера кучу лайков и подписался :-) Но убунта самая популярная ось для vps. Я бы так же про wordpress сказал имхо не нужен. Drupal лучше! Но wordpress популярнее :-) Этот скрипт на убунте так же отработает? requirements.txt - можно же без версий? - поставит самые последние. Сейчас уже Django 3 версии. а у вас там Django==2.2.5 - может просто: Django? Тогда надо обновить папку src... systemd/gunicorn.service - можно так для разных сайтов называть? Или всё же gunicorn2.service должно быть и т.п.? dbms_template_path - создаст разные папки, а название процесса останется одинаковое? Обязательно ручками писать где установлен питон? Можно же автоматом вставить?! # узнать все версии python на сервере ls -1 /usr/bin/python* | grep '[2-3].[0-9]$' # минимум информации whereis python # море информации: все папки где стоит python ls -ls /usr/bin/python* # море информации: все папки где стоит python, но красивее
Этот скрипт скорее всего отработает так же на убунте, но не сказал бы, что убунта относится к стандартным серверным ОС. Эту нишу занимают Debian, CentOS, местами разные BSD. Да, в requirements версии можно при желании убрать. Называть сервисы в systemd можно как вам нравится, в том числе использовать названия сайтов, если их несколько на машине. Питон надо писать ручками, потому что как правило он не системный, а из виртуального окружения, узнать его по дефолту нельзя, питон из вирт окружения может быть где угодно, виртуальное окружение может быть не активировано и тд. Самый надёжный способ это указать явно.
@@t0digital разворачиваю Ваш классный (не сарказм) конфиг на centos7, и выдает дикий трэш связанный с отсутствием папок sites-enabled/sites-available и их прав и тд. Можно ли как то на nginx.conf симлинку сделать? или нужно обязательно папки создавать? вопрос глупый, знаю, извиняюсь)
Дело вкуса, думаю. На тестах, которые видел, гуникорн был быстрее, поэтому исторически используем его, причин переходить нет. На некоторых проектах, которые поддерживаем, uwsgi - тоже пыхтит, норм:)
Подскажите пожалуйста новичку, почему в видео про установку debian-сервера, в скрипте для запуска gunicorn сначала запускали активацию виртуального окружения, а тут gunicorn стартует без активации окружения, или это как-то неявно происходит?
Здесь гуникорн запускается из папки виртуального окружения. То есть можно активировать окружение и запускать gunicorn или python, не указывая полный путь к нему, а можно не запускать окружение и просто запускать gunicorn или python из директории окружения (env/bin/gunicorn, env/bin/python3 здесь)
@@t0digital , спасибо, жаль не запускается. Ставлю на чистую 18.04 на VirtualBox, единсвенное что сделал - окружение с помощю venv. Вот скрин drive.google.com/file/d/1mqXbG3iBg8jqMUMdpen3bhJcrY8LP_xP/view?usp=sharing
@@ЯнПоздняков-у9в похоже, не ставится psycopg, пип пакет для постгрес. Почитайте, почему не ставится под вашу версию ОС. И укажите полный путь до питона на старте, не относительный, а полный путь. Не уверен, что скрипт работает с относительным, не помню
@@t0digital то есть развертываешь шаблон на dev и разрабатываешь себе на здоровье. Затем, когда закончил, развертываешь шаблон на production и копируешь файлы из dev? Или как?
@@ravetherover копируешь файлы проекта, не настроек. Файлы настроек чтобы получить новые для прода запускаешь на проде ./install.sh и он всё настроит, пропишет пути, создаст симлинки на конфиги
Не надо apache, nginx берите nginx. Почему не надо apache - ruclips.net/video/zdvuN8fMLVA/видео.html Как настроить с nginx - ruclips.net/video/FLiKTJqyyvs/видео.html
Подскажите пожалуйста, я тут столкнулся с проблемой, django channels не работает, хотя gunicorn запущен на сервере, и все работает, а вот когда асинхронные запросы выполняю, то ничего не работает, как в таком случае настроить сервер?
@@t0digital нет, не настроил, но про него читал, проблема в том, что камманда daphne не работает, хотя я её установил, и каждый раз при её вызове пишет, что она не найдена
@@t0digital, все советы принял в обработку, начал разбираться, и тут возникла новая проблема, daphne запустил, синхронные запросы выполняются, но при асинхронных сервер пишет метод не доступен ошибка 405, это с чем может быть связано можете подсказать?
В чём смысл указывать конкретные версии пакетов для pip? Да, понятно что это будет протестированный набор, который точно заведётся. Но через месяц-другой выйдут новые версии, скрипт устареет. Чем плох вариант ставить просто текущую версию пакета?
А у меня на выбор разработка либо в виртуальной машине, либо с помощью docker. Что так, что так, непонятно как код с рабочего компьютера туда тащить. Если сначала разрабатывать у себя, то в случае виртуалки дважды зависимости проставляешь. Docker compose в этом случае выигрывает. Ребятам на винде вообще не понять.
Блин больно смотреть было на велосипед, тебе реально в ансибл нужно посмотреть, там не обязательно ведь строить экосистему с ролями и тд - опиши пару тасков в плейбук и ранай, без опасной императивщины
@@t0digital ага сейчас запустилось. Вопрос: путь интерпретатора какой пишем? это путь домена на сервере? у меня вот такой путь получается joxi.ru/KAx511NT1blK1r
@@t0digital виртуально окружение настроено. Чет не могу сообразить. Python interpreter: /var/www/html/loft-fashion.ru/html/env/bin/python3.7 Your domain without protocol (for example, google.com): loft-fashion.ru ./install.sh: строка 8: /var/www/html/loft-fashion.ru/html/env/bin/python3.7: Нет такого файла или каталога ./install.sh: строка 9: env/bin/activate: Нет такого файла или каталога
Этот баш скрипт не ставит Постгрес, но, как вы справедливо заметили, его можно научить и этому. И sqllite в комплекте, да, если её достаточно. Идеология этого скрипта не установка нового системного софта на сервер, а конфигурирование имеющегося - новый софт ставится строго в виртуальное окружение, а системный (nginx, systemd) просто конфигурится. То есть скрипт глубоко не влияет на систему и это хорошо, он лайтовый и выпилить его влияние это просто удалить папку с проектом.
Не совсем понятны некоторые моменты для полного новичка, например как быть с несколькими проектами на одной машине. У меня для php сайтов стоит веста, попробую это данное видео скрестить с этим гайдом itproffi.ru/zapusk-proektov-django-v-vestacp/, что бы ставить в весту готовую настройку под нужный домен, там letsencrypt прикручивается в одно касание. Ну и в целом снижает порог входа.
Имхо заменять 10 строк простейшего баш скрипта на любой внешний дополнительный инструмент может быть стрелянием из пушки по воробьям:) нисколько не умаляя крутость и важность в некоторых проектах Docker контейнеров и Ansible
@Fein прям нету? Прям вот на моем канале нескольких видео с полноценным деплоем с нуля нету и вообще по теме деплоя? Ох, ну специально для вас: 1. ruclips.net/video/FLiKTJqyyvs/видео.html 2. ruclips.net/video/LvvSlljb8Yw/видео.html 3. ruclips.net/video/kclYmb47LTg/видео.html 4. ruclips.net/video/W-nOdwlxmhA/видео.html 5. ruclips.net/video/Y_bker96mK8/видео.html И тд. Ну а касательно смысла - тыща человек, влепивших лайк, смысл нашли, и на гитхабе 153 звезды и 73 форка от этого моего репозитории смысл тоже нашли. Кажется, что если вы не видите смысла, это не говорит о том, что его нет)
@@t0digital Слушайте я знаю как это делать, просто случайно к вам зашел, тема касалась именно этого видео, вы сказали что расскажите как это делать, а в итоге запустили заготовку, вы еще не поняли о чем я веду разговор? А вы мне скидываете какие-то другие видел это же абсурд.
"Как нарисовать сову? Рисуем овал и всё остальное!". Ролик ради ролика. Оказывается на сервере уже стоит python3.7 и git. При том не просто питон, а скорее всего с dev модулем. Тот проект что развернулся, это тупо заготовка. Заготовка в которой по факту ничего нет, ни кто в здравом уме не будет заливать на сервер заготовку. А полноценный проект, требует больше бубнов, да хоть ту же базу данных нормально развернуть, статические файлы, .... Ролик, сам как "заготовка" возможного баш скрипта. =)
@@t0digital Так они и не понимают толком, что это такое. Вы показали, как заварить доширак. При этом, подали так, как-будто это новогодний стол на 15 блюд. =) По факту, в жизни всё так легко не бывает. Вы часть упустили за кадром. Тот же питон, вы поставили до ролика. При том не сам питон, а ещё и дев + венв пакеты. Джанго у вас тоже пустышка коробочная. Тупо показать, что всё остальное работает. На живом проекте, всё так легко и в "пять строк", не решается. Проще говоря, вы указали только возможный путь, тупо заготовку. Но блин, это как мем "как нарисовать сову". Ни больше, ни меньше. Просто кликбейтный ролик. Но даже в нём, страждущий да найдёт что-то полезное. Удачи вам ;)
Планировал написать телеграм бота для учета финансов на выходных, но чёт зарубился с настройкой сервера и решил собрать наконец template под это дело. Бота не написал, но шаблон тоже полезен, думаю:)
После телеги может апи? Универсальный какой-нибудь для джанго с фласком, может с теми же финансами. + на этом примере можно и тему ооп раскрыть, разные вариации классов показать... =)
@@senatortre7326 да, на боте тоже с ООП поиграемся, есть идеи. Ну и апишку можно прикрутить потом будет для какой-то веб-морды
Эх, а я ведь только хотел научится работать с vim, теперь вот нужно будет бота писать...
Хороший контент, благодарю! Больше видео.
Vim'чик приложится:)
Супер! Обожаю автоматизировать свою работу подобными штуками
да, bash + линуксовые утилиты творят чудеса:)
Четко! Красиво!
Спасибо! Ничего не понятно но очень интересно 😂
Спасибо! очень круто и удобно
Я лично джангу использую только с докером после того как столкнулся с проблемой устновки пакета для работы с mysql, для установки которого, оказывается, нужно под рутом ставить еще какие-то утилиты
Хорошее видео! По настройке systemd хотелось бы?
Ждем телеграмм бота, очень хочется посмотреть. Контент однозначно лукос, подписка. Молодца котан )
Спасиб за подписку!
Огонь! Одна интрига=)
скоро-скоро:)
Это очень круто, конечно. Как и весь контент.
Но может быть вы посоветуете что и где почитать в качестве базовых знаний? Куча материалов по Django-проектам, а как их действительно в работу запускать - непонятно.
Two Scoops of Django, документация Django, Django girls
@@t0digital Спасибо, интересный материал.
Django girls - пожалуй, пожалуй наиболее четко прописанная статья для старта, из тех, что читал
имхо: музыку на бэки можно сделать потише. В наушниках получается мешанина
На динамиках тоже, музыка достаточно громкая для такого видео
Очень интересные и полезные видео с близким мне стеком технологий. Просто и понятно.
Спасибо! Планируем ещё много по этому стеку
Алексей, спасибо большое за ваши видео. Я понимаю, что видеоблогинг для вас это просто увлечение, но могу ли я вас попросить выпускать видео почаще? И хотелось бы от вас видео где вы разворачиваете бэк на Django REST Framework, а фронт на любом JS фреймворке и всё связываете воедино с load balancer и дополнительными плюшками от вас.)) Извините за наглость.)
Будем стараться делать чаще! Прост рест и js фронт будет, про лоад балансер возможно тоже, но не в ближайшее время
@@t0digital спасибо за ответ. Буду ждать ваших видео с нетерпением. Очень нравится ваша подача материала.)
@@seidakhmetazat спасибо!
жду не дождусь ботаю спасибо за контент
Если сейчас такой формат быстрого сервера! Хорошая тема. Благодарю!
Коротко и информативно
Спасибо!
Алексей, добрый вечер. А можете снять видео деплоя на VPS - Django REST проекта с React-ом, Nginx-ом, Gunicorn-ом без Docker-а?
как всегда кратко и по делу.
ждем бота.
Спасибо за видео!
Быстро, клёво, спасибо. Как накатывать обновления в такой среде?
Подскажите пожалуйста как правильно установить python перед выполнением, установил так :
sudo apt-get git nginx gunicorn systemd python3
А потом возникает ошибка с виртуальным окружением и pip
./install.sh: line 8: The: command not found
./install.sh: line 9: env/bin/activate: No such file or directory
./install.sh: line 10: pip: command not found
./install.sh: line 11: pip: command not found
Дело в том, что автор "забыл" сказать, что "на абсолютно чистой машине", он за кадром, установил много чего ещё. Конкретно тут, не хватавет пакетов python*-dev python*-venv python*-pip Вы обращаетесь в 8 строке к модулю venv, который автор ролика, ставит на сервер до ролика.
Если описывать всё по нормальному, то ролик не будет таким кликбейтным, а установка такой "простой". =) Но думаю, за 2 года, вы уже научились ставить окружение или забили болт на питон ;)
Спасибо за интересное и полезное видео!
Супер! Хочется больше видео :)
0:45 спасибо тебе большое добрый человек, так и сделаю, а то уже зае$#лся с ним разбираться. Единственное нормальное объяснение докера )
После видео "как выйти из вим" не могу больше всерьез воспринимать ваше творчество
Всерьёз и не нужно :)
@@t0digital Мне кажется можно начинать подбрасывать и более глубинные темы, расширят захват аудитории, тем более с вашей интересной манерой излагать суть вещей :)
Спасибо! А более глубинные это какие, например?
@@t0digital Архитектура приложений, паттерны, распределенные реестры данных, нейросети, правильные ui и психология)) Возможно вы что то затрагивали и я не успел ознакомится)
Есть опасность в скрипте. Нет конфигтеста джинкса. Если на сервере уже что-то крутится, а конфиг не верный, то без конфигтеста скрипт положит работающие приложения. Лучше сразу, до установки остального, проверить. Плюс было бы круто сразу инициировать контроль версий в новом проекте.
Так же нет проверки на наличие python3-venv.
очень полезный контент! спасибо!
Красавчег!
спасибо:)
Поднять за две команды, но перед этим нужно настроить целый конфиг. Разве это не тоже самое, что поднять докер с одной команды docker-compose up -d только настроить перед этим тот самый compose.yml?
докер не заменяет знаний того, как всё конфигурится - докер добавляет к этим знаниям необходимость знания ещё и докера. Докер хорош и удобен, но он не панацея
@@t0digital согласен. Но по названию видео, можно подумать что этот вариант таки панацея действительно работает в две команды, и не требует знаний по настройке конфига.
Даже virtualenv не заработает как нужно в две команды, придется инсталлить все что необходимо.
Хаурошь)
Полезное дело) а почему используете символические ссылки для конфигов?
если случайно что-то переименуете в репозитории проекта, то при выгрузке свежего кода все такие конфиги "пропадут"
Спасибо!
А вот ещё было бы интересно посмотреть как этот самый телеграм-бот делать не просто так, а через какую-нибудь систему Continuous Integration. Jenkins или там что сейчас популярно? :)
Я понимаю что для телеграм-бота это тоже оверхед. Но может быть подойдёт как тема для будущих роликов.
Да, расскажу в одном из видео про gitlab ci. Может и для бота запилю, посмотрим:) спасибо за идею
Диджитализируй! АйТи студия может в ещё чуть более далеком будущем можно будет сравнить(?) показать новый github ci
@@SomeTestsGuy не знал, что гитхаб тоже свой ci запилил. Майкрософтовские деньги тратят:)
Используете ли в работе либы типа django decouple и сплитите ли сеттинги на dev, prod и ТД.?
Сеттинги сплитим обязательно, decouple не используем
@@t0digital Спасибо за ответ! В свое время на такой, казалось бы, простой теме потратил много времени. Возможно, Вы могли бы сэкономить его для подписчиков, сделав короткое видео на эту тему, тем более что такой "шорт-рецепт" формат у Вас замечательно получается.
@@roberti8506 спасибо за идею! Думаю, сниму видео про полный процесс разработки приложеньки на джанго и там об этом расскажу тоже
@@t0digital круто!
А можно с такой же лёгкостью запустить редис и селери без докера? Спасибо.
покажите настройки вашего шела, чтоб такой же красивый сделать
Как он любит попивать водичку в своих видосах
Очень!
Вопросик про количество воркеров...
Если на vps 1 проект = с этим понятно.
А если на впс несколько проектов, то сколько воркеров на проект запускать? Все так же 2 * количество ядер + 1 пока память не кончится?))
это не жесткое правило. Если 5 проектов и на один идет трафик, а остальные так висят, чтобы было - то более нагруженному проекту конечно можно/нужно дать больше ресурсов.
круто!
Посоветуйте, есть ли ресурсы на которых можно попрактиковаться в деплое на сервер? Или надо только покупать хост?
Можно поднять Линукс на домашней машине и развернуть все там. Если купить ещё белый IP у провайдера (постоянный IP), то вот тебе и полноценный сервер. Но в целом ovh даёт дешёвые сервера, проще купить. На selectel, яндекс cloud, Google cloud можно арендовать железку хоть на час.
@@t0digital Спасибо.
Алексей. Можешь подсказать как развернуть твой шаблон на M1 c brew? спасибо.
Клаасс 👍. Но слышал про cookiecutter?
И куда резюме отправлять?) 😜
@@TheMRrenald да, cookiecutter, знаю, чуваки из «Two Scoops of Django» его любят:)
Резюме можно на alexey@salesbeat.pro
Эта установка на Debian?!
debian 10 vs ubuntu 20.04 - такой рассказ планируете?
Да, на дебиан. Убунту на сервере имхо не нужен
@@t0digital Спасибо за быстрый ответ. Поставил вчера кучу лайков и подписался :-) Но убунта самая популярная ось для vps.
Я бы так же про wordpress сказал имхо не нужен. Drupal лучше! Но wordpress популярнее :-)
Этот скрипт на убунте так же отработает?
requirements.txt - можно же без версий? - поставит самые последние. Сейчас уже Django 3 версии.
а у вас там Django==2.2.5 - может просто: Django? Тогда надо обновить папку src...
systemd/gunicorn.service - можно так для разных сайтов называть? Или всё же gunicorn2.service должно быть и т.п.? dbms_template_path - создаст разные папки, а название процесса останется одинаковое?
Обязательно ручками писать где установлен питон? Можно же автоматом вставить?!
# узнать все версии python на сервере
ls -1 /usr/bin/python* | grep '[2-3].[0-9]$' # минимум информации
whereis python # море информации: все папки где стоит python
ls -ls /usr/bin/python* # море информации: все папки где стоит python, но красивее
Этот скрипт скорее всего отработает так же на убунте, но не сказал бы, что убунта относится к стандартным серверным ОС. Эту нишу занимают Debian, CentOS, местами разные BSD.
Да, в requirements версии можно при желании убрать.
Называть сервисы в systemd можно как вам нравится, в том числе использовать названия сайтов, если их несколько на машине.
Питон надо писать ручками, потому что как правило он не системный, а из виртуального окружения, узнать его по дефолту нельзя, питон из вирт окружения может быть где угодно, виртуальное окружение может быть не активировано и тд. Самый надёжный способ это указать явно.
@@t0digital разворачиваю Ваш классный (не сарказм) конфиг на centos7, и выдает дикий трэш связанный с отсутствием папок sites-enabled/sites-available и их прав и тд. Можно ли как то на nginx.conf симлинку сделать? или нужно обязательно папки создавать? вопрос глупый, знаю, извиняюсь)
Вопрос, почему Django а не Flask? Чем он прям лучше?
Два совершенно разных фреймворка, их объединяет только то, что оба на Python.
Почему ты используешь gunicorn, а не uwsgi? Есть ли какие-то существенные плюсы на твой взгляд или это просто дело вкуса?
Дело вкуса, думаю. На тестах, которые видел, гуникорн был быстрее, поэтому исторически используем его, причин переходить нет. На некоторых проектах, которые поддерживаем, uwsgi - тоже пыхтит, норм:)
Подскажите пожалуйста новичку, почему в видео про установку debian-сервера, в скрипте для запуска gunicorn сначала запускали активацию виртуального окружения, а тут gunicorn стартует без активации окружения, или это как-то неявно происходит?
Здесь гуникорн запускается из папки виртуального окружения. То есть можно активировать окружение и запускать gunicorn или python, не указывая полный путь к нему, а можно не запускать окружение и просто запускать gunicorn или python из директории окружения (env/bin/gunicorn, env/bin/python3 здесь)
@@t0digital Всё понятно, благодарю!
@@ВитяБулкин-з5ч отлично :)
Какой нужно указывать домен, если его нет и хочешь просто запустить локально, протестить ?
Домен, который укажете, пропишется в конфиг nginx. Протестить локально с локальным nginx - укажите локальный домен, прописанный в hosts файле
@@t0digital , спасибо, жаль не запускается. Ставлю на чистую 18.04 на VirtualBox, единсвенное что сделал - окружение с помощю venv. Вот скрин
drive.google.com/file/d/1mqXbG3iBg8jqMUMdpen3bhJcrY8LP_xP/view?usp=sharing
@@ЯнПоздняков-у9в похоже, не ставится psycopg, пип пакет для постгрес. Почитайте, почему не ставится под вашу версию ОС. И укажите полный путь до питона на старте, не относительный, а полный путь. Не уверен, что скрипт работает с относительным, не помню
thanks bro!
а про docker будет ролик ?)
Да, но не уверен, что скоро
Какие же это контейнеры? Докер это моя жизнь.
В видео нет контейнеров:)
Не чего не понял, но очень интересно.
огонь
Какая возня ожидается с переносом проекта на продакшн?
Шаблон как раз для минимизации возни
@@t0digital то есть развертываешь шаблон на dev и разрабатываешь себе на здоровье. Затем, когда закончил, развертываешь шаблон на production и копируешь файлы из dev? Или как?
@@ravetherover копируешь файлы проекта, не настроек. Файлы настроек чтобы получить новые для прода запускаешь на проде ./install.sh и он всё настроит, пропишет пути, создаст симлинки на конфиги
Собираюсь первый раз деплоить на сервер...
Скажите, получится так без танцнв с бубном деплоить проект на сервер с вестой на нгинкс и апаче.
Без танцев с бубном в 1 раз в любом случае не получится:)
Поделись потом опытом, у меня Nginx+php-fpm, чувствую там геморой побольше будет.
Где можно толковое разъяснение, как к связке apache+wsgi прикрутить проект Django свиртуальным окружением...?
Не надо apache, nginx берите nginx. Почему не надо apache - ruclips.net/video/zdvuN8fMLVA/видео.html
Как настроить с nginx - ruclips.net/video/FLiKTJqyyvs/видео.html
@@t0digital спасибо!
Подскажите пожалуйста, я тут столкнулся с проблемой, django channels не работает, хотя gunicorn запущен на сервере, и все работает, а вот когда асинхронные запросы выполняю, то ничего не работает, как в таком случае настроить сервер?
Daphne настроили?
@@t0digital нет, не настроил, но про него читал, проблема в том, что камманда daphne не работает, хотя я её установил, и каждый раз при её вызове пишет, что она не найдена
@@paveltarnopovich2574 для работы сокетов в channels нужен не гуникорн, а дафна. Ставится через pip как и джанго, как и гуникорн. Запускается отдельно
@@t0digital, все советы принял в обработку, начал разбираться, и тут возникла новая проблема, daphne запустил, синхронные запросы выполняются, но при асинхронных сервер пишет метод не доступен ошибка 405, это с чем может быть связано можете подсказать?
@@paveltarnopovich2574 точно на нужный порт (на котором дафна запущена) отправляете асинхронные запросы?
Мне перед установкой этого шаблона нужно установить git nginx gunicorn и systemd?
ДА
В чём смысл указывать конкретные версии пакетов для pip? Да, понятно что это будет протестированный набор, который точно заведётся. Но через месяц-другой выйдут новые версии, скрипт устареет. Чем плох вариант ставить просто текущую версию пакета?
Вариант не плох, да, можно просто оставить текущую версию
А у меня на выбор разработка либо в виртуальной машине, либо с помощью docker. Что так, что так, непонятно как код с рабочего компьютера туда тащить. Если сначала разрабатывать у себя, то в случае виртуалки дважды зависимости проставляешь. Docker compose в этом случае выигрывает. Ребятам на винде вообще не понять.
блин, опять ничего не понял, но очень интересно... видимо нужно больше насмотреть
Блин больно смотреть было на велосипед, тебе реально в ансибл нужно посмотреть, там не обязательно ведь строить экосистему с ролями и тд - опиши пару тасков в плейбук и ранай, без опасной императивщины
Да понятно. Сделаем видос с ansible тоже)
Сейчас пишу генератор Django , как в рельсах , есть идеи что бы вы там видеть хотели ?
В Django уже есть свой генератор приложений, если вы об этом
django-admin startproject
django-admin startapp
Диджитализируй! АйТи студия , не , тип чтобы он тебе модели и контроллеры сам генерировал
Диджитализируй! АйТи студия , есть какие-нибудь советы и мысли за это ?
@@Kirill-rg8vj не работал с рельсами и не оч понимаю, как она генерит модели и на основе чего
Алексей привет! Сколько ты уже кодишь( вообще в IT )
Привет! В 2004м начал, за деньги в 2008м
Я так понимаю у меня одного этот шаблон не устанавливается.?
Какой Линукс? Какая ошибка? Какой питон?
@@t0digital разобрался почему ошибку выдавал. Файлы конфигов nginx и systemd уже были созданы, удалил и все прошло успешно, спасибо.
@@dronich26rus огонь:)
Начал ставить на сервак, UBUNTU . :/var/www/html/loft-fashion.ru/html# ./install.sh
bash: ./install.sh: Отказано в доступе . Что не так делаю?
консоле все под root
Попробуйте:
source install.sh
Запустилось?
@@t0digital ага сейчас запустилось.
Вопрос: путь интерпретатора какой пишем? это путь домена на сервере? у меня вот такой путь получается joxi.ru/KAx511NT1blK1r
@@РенатИндусов путь интерпретатора это путь к питону. В общем случае к питону в виртуальном окружении, которое предварительно создано
@@t0digital виртуально окружение настроено. Чет не могу сообразить.
Python interpreter: /var/www/html/loft-fashion.ru/html/env/bin/python3.7
Your domain without protocol (for example, google.com): loft-fashion.ru
./install.sh: строка 8: /var/www/html/loft-fashion.ru/html/env/bin/python3.7: Нет такого файла или каталога
./install.sh: строка 9: env/bin/activate: Нет такого файла или каталога
Ну из под баш все что угодно можно автоматизировать... а бд где?)
а с Джангой идет автоматом sqlite
Этот баш скрипт не ставит Постгрес, но, как вы справедливо заметили, его можно научить и этому. И sqllite в комплекте, да, если её достаточно.
Идеология этого скрипта не установка нового системного софта на сервер, а конфигурирование имеющегося - новый софт ставится строго в виртуальное окружение, а системный (nginx, systemd) просто конфигурится. То есть скрипт глубоко не влияет на систему и это хорошо, он лайтовый и выпилить его влияние это просто удалить папку с проектом.
Не совсем понятны некоторые моменты для полного новичка, например как быть с несколькими проектами на одной машине.
У меня для php сайтов стоит веста, попробую это данное видео скрестить с этим гайдом itproffi.ru/zapusk-proektov-django-v-vestacp/, что бы ставить в весту готовую настройку под нужный домен, там letsencrypt прикручивается в одно касание. Ну и в целом снижает порог входа.
На первых же секундах про докер и енсибл... Из пушки по воробьям? Да ладно
Имхо заменять 10 строк простейшего баш скрипта на любой внешний дополнительный инструмент может быть стрелянием из пушки по воробьям:) нисколько не умаляя крутость и важность в некоторых проектах Docker контейнеров и Ansible
Не работает ничего..
Как же так?
Код не работает на AWS Ubuntu, Amazon Linux 2. И не разъеснено что необходимо предустановить git, nginx, gunicorn. Но уже хорошо
Конфих конфих конфихххххххххххххх
хХх
а systemd так и не показал...
Когда будет телеграм бот? Залайкайте что бы увидел!!!!!!!!!!
Будет!
Все видео о том смотрите я написал скрипт настроенный и я его запустил...
Ожидали основы термоядерного синтеза услышать)?
@@t0digital Я это где-то упоминал? Нету разбора для новичков как на самом деле происходит деплой, вы просто запустили заготовку, какой в этом смысл?
@Fein прям нету? Прям вот на моем канале нескольких видео с полноценным деплоем с нуля нету и вообще по теме деплоя? Ох, ну специально для вас:
1. ruclips.net/video/FLiKTJqyyvs/видео.html
2. ruclips.net/video/LvvSlljb8Yw/видео.html
3. ruclips.net/video/kclYmb47LTg/видео.html
4. ruclips.net/video/W-nOdwlxmhA/видео.html
5. ruclips.net/video/Y_bker96mK8/видео.html
И тд. Ну а касательно смысла - тыща человек, влепивших лайк, смысл нашли, и на гитхабе 153 звезды и 73 форка от этого моего репозитории смысл тоже нашли. Кажется, что если вы не видите смысла, это не говорит о том, что его нет)
@@t0digital Слушайте я знаю как это делать, просто случайно к вам зашел, тема касалась именно этого видео, вы сказали что расскажите как это делать, а в итоге запустили заготовку, вы еще не поняли о чем я веду разговор? А вы мне скидываете какие-то другие видел это же абсурд.
@@fein7068 все, что я сказал, что расскажу - рассказал 🤷♂️
а systemd так и не показал )))
"Как нарисовать сову? Рисуем овал и всё остальное!".
Ролик ради ролика. Оказывается на сервере уже стоит python3.7 и git. При том не просто питон, а скорее всего с dev модулем. Тот проект что развернулся, это тупо заготовка. Заготовка в которой по факту ничего нет, ни кто в здравом уме не будет заливать на сервер заготовку. А полноценный проект, требует больше бубнов, да хоть ту же базу данных нормально развернуть, статические файлы, ....
Ролик, сам как "заготовка" возможного баш скрипта. =)
2к человек поставивших лайк с вами не согласны даже не смотря на то, что в видео не показано, как включить компьютер:)
@@t0digital Так они и не понимают толком, что это такое. Вы показали, как заварить доширак. При этом, подали так, как-будто это новогодний стол на 15 блюд. =) По факту, в жизни всё так легко не бывает. Вы часть упустили за кадром. Тот же питон, вы поставили до ролика. При том не сам питон, а ещё и дев + венв пакеты. Джанго у вас тоже пустышка коробочная. Тупо показать, что всё остальное работает.
На живом проекте, всё так легко и в "пять строк", не решается.
Проще говоря, вы указали только возможный путь, тупо заготовку. Но блин, это как мем "как нарисовать сову". Ни больше, ни меньше. Просто кликбейтный ролик. Но даже в нём, страждущий да найдёт что-то полезное.
Удачи вам ;)
музыка нромкая
Музыку минус!