Поднимаем Debian сервер для Python/Django - установка и настройка с нуля. Как настроить сервер?
Мой курс «Хардкорная веб-разработка» - course.to.digital
Книжный клуб Ботаним!, где мы читаем хорошие ИТ-книги: botanim.to.digital/
Telegram: t0digital.t.me
Сказать спасибо за это видео можно здесь - boosty.to/digitalize.team
Поднимаем с нуля чистый Debian сервер на Яндекс.Облаке (не принципиально - аналогичная настройка будет на Selectel, OVH или любом другом сервисе). Устанавливаем и настраиваем Nginx, Gunicorn, Django приложение, PostgreSQL, Supervisor, а также всю необходимую обвязку для этого. Покажем, как настроить Debian сервер для Django (или любого другого Python WSGI приложения) и связать все компоненты воедино.
Инструкция - github.com/alexey-goloburdin/...
0:00 Цели видео
0:48 Создаём сервер на Яндекс Облаке
3:36 Заходим на сервер по ssh
4:31 Про инструкции
5:02 Обновление репозиториев
5:24 Установка минимально необходимого софта
6:23 Настраиваем SSH и локали
8:03 Ставим основной необходимый софт, его обзор
10:06 Установка Oh My zsh
11:55 Установка Python из исходников
16:10 Поднимаем чистый Django проект
21:00 Настройка Gunicorn
24:31 Настройка Nginx
26:36 Настройка supervisor
31:20 Ставим PostgreSQL
34:25 Итоги
Шаблон Django для быстрого начала разработки и быстрого разворачивания на сервере - • Шаблон Django проекта ...
/****************** about ******************/
Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:
- Диджитализируй digitalize.team, разрабатываем сложные IT системы для бизнеса;
- Salesbeat salesbeat.pro, комплексный модуль доставки для интернет магазинов.
Если у вас есть проект на разработку, пишите нам на hi@digitalize.team.
С другими предложениями, а также если вам нужна одна или несколько индивидуальных консультаций/уроков по разработке (3000 руб/час), пишите мне на alexey@salesbeat.pro.
Telegram канал - t.me/t0digital
ВК - digitalize.team
RuTube - rutube.ru/channel/24802975/ab...
Дзен - dzen.ru/id/6235d32cb64df01e6e...
Пікірлер: 487
Мой курс «Хардкорная веб-разработка» - course.to.digital Вжух!
Ценное видео, спасибо. Ждем про деплой джанго с докером!
@t0digital
5 жыл бұрын
Будет:) Спасибооо!
@gigurdapetrovich4572
4 жыл бұрын
@@t0digital Всё круто, спасибо. Если б еще тайм-коды оставлял, было б вообще огонь.
@t0digital
4 жыл бұрын
@@gigurdapetrovich4572 будем делать тайм коды, спасибо!
@nikitabalaganskiy6257
4 жыл бұрын
@@t0digital Круто! А ты мог выпустить видео о том, за сколько лет ты овладел всем этим, какую литературу читал, другие ресурсы и тп. Будет очень интересно) Удачи тебе в проектах и спасибо за ценное видео!
@t0digital
4 жыл бұрын
@@nikitabalaganskiy6257 спасибо! Мне сложно оценить время, потраченное на изучение - много всего, не связанного с программированием. Кажется, что если заниматься только этим и упорно, то освоить можно достаточно быстро, уж точно не многие года:)
Просто низкий поклон за довольно понятное, простое, и реально действующее решение!
Спасибо огромное! Делал по работе небольшой джанго проект, стоял вопрос задеплоить его как-то, вообще мыслей не было с чего начинать, вспомнил про ваш канал и про годный контент, нашел то, что искал и вуаля! Несмотря на то, что видео длится 35 минут, чтобы повторить и понять что да как, потратил рабочий день!) Спасибо за неоценимый труд!
Огромный респект за труд! Запишите поднятие Debian+Docker) С уважением)
Ничего не понял, но было интересно, не заметил как пролетело 35 минут. Спасибо за качественный контент
Нереально качественный контент! Полезный - не то слово! МЕГАполезный, наглядный и крутой - вот то слово! Я начинающий, и вы - один из моих любимых каналов!
Спасибо, как раз искал как развернуть Django на сервере. Очень содержательное видео, получил ответы на все интересующие вопросы.
@t0digital
5 жыл бұрын
Йее, спасибо! Рад, что полезно
Отличный канал! Спасибо тебе за то что уделяешь свое время нам!
@t0digital
5 жыл бұрын
Спасибо! Такого мнения придерживаются не все:) vk.com/python_programming?w=wall-64524646_5757
@user-xt6si6ve4v
4 жыл бұрын
@@t0digital забавная переписка)
Очень круто, всё чётко и без воды, спасибо, подписка.
Огромное спасибо за ваше видео. Мне пришлось столкнуться с этим на фрилансе и благодаря вам все получилось, смотрел другие видосы там либо сложнее либо выглядит не очень, были даже с apache) Дарите нам новые прекрасные видео, пасиба 😇
Отличное видео для новичков, чтобы на виртуальной машине попробовать поставить свой первый сервер. Очень радует, что автор в видео периодически ошибается и показывает, как он исправляет свои ошибки (идет в логи и читает код ошибки, разбирает возникающие неполадки и т.д.). Такой подход позволяет начинающим бекендерам понять, как правильно мыслить при установке сервера. Но всё же не хватает настройки базы данных и статик-файлов, чтобы это был полноценный чит-гайд, куда можно заглянуть, когда подзабыл, как ставить на сервер свой проект и хочешь освежить всё в памяти. Спасибо вам за ваш труд! Был бы очень рад, если бы вы развили данное видео для полноценного чит-гайда с инструкцией, как поставить полноценный Django проект с базой данных и статик-файлами на systemcd.
Приятно вникать, качественное видео! Сенкс!
Ты - первый блоггер, чьё каждое видео я хочу посмотреть, спасибо тебе!
@t0digital
4 жыл бұрын
Спасибо! Приятно!
отличный материал. мне как пхп прогеру пошел на пользу. освоил дебиан на уровне разворачивания окружения и с каждого видео собираю новый экспиренс. ваше видео прям вообще хорошо зашло - вим осваивать решил и узнал о продвинутой консоли.
Очень очень ценно! Мне бы 3 месяца назад это видео вообще бы сэкономило кучу времени :) Но и сейчас есть чему поучится, что поправить. Спасибо за канал и информацию!
@t0digital
4 жыл бұрын
Рад, что полезно!
Просто кладезь полезной информации! Спасибо!
@t0digital
4 жыл бұрын
Спасибо!
Спасибо за видео! Поднимал на ubuntu 20 с предустановленным python3.8. Из вашего списка программ обошелся nginx, gunicorn и supervisor - больше ничего не устанавливал. Все работает, спасибо.
Спасибо, когда дойду до этого будет полезно )
Как всегда отличное видео!) После ваших видео появляется еще больше мотивации на развитие!)
Как обычно интересно и информативно,завтра буду вновь биться над блогом,попробую твой конфиг в боевых условиях)) и спасибо за кучку интересных инструментов!)
@t0digital
4 жыл бұрын
Спасибо!
Респект за труды! Красавец!
Спасибо огромное за объяснение - вы сохранили мне дни жизни 😁
Лучшее в понимании видео для первых шагов!!!
Спасибо Алексей! Очень ценное видео без воды!
@t0digital
3 жыл бұрын
Спасибо, рад, что полезно!
Локаль в debian настраивается командой dpkg-reconfigure locales А чтобы не было нечитаемых символов и прочей дичи пока локаль не настроена можно запускать так: LANG=C dpkg-reconfigure locales Будет английский интерфейс на момент настройки локали, но зато без проблем с кодировкой. Вместо mosh давно пользуюсь screen в случае если понимаю что соединение может быть нестабильным а процесс прерывать нельзя. Да и в принципе в screen можно запускать любые долгоиграющие процессы. А ещё ты не мог на 8001 порт зайти потому что он слушает на 127.0.0.1 а это локальный адрес. А ещё чтобы смотреть логи есть less. Там тоже работает поиск и при этом файл не надо открывать на запись и зачастую можно обойтись без sudo. Если в онлайне надо посмотреть что там сыпет в лог - есть tail -F /var/log/file.log Вывод от tail можно фильтровать через grep при необходимости. А чтобы посмотреть запущен процесс или нет - ps -A | grep progname - так быстрее чем htop дёргать P.S.: Спасибо за труд.
Про инструкцию прям++++. Поступаю аналогично. После пройденного обязательно логирую и создаю инструкции.
Заинтересовал) Молодец)
Хорошее видео, спасибо за труды, ждём видео с докером с нетерпением!
@t0digital
4 жыл бұрын
Спасибо! Про докер будет.
Во крутяк!! взял себе самый простенький VPS на побаловатся, очень помог данный ролик, ибо до этого даже представления небыло что и как настраивать. большое спасибо Алексей!
@t0digital
3 жыл бұрын
Йее, рад, что полезно!
Спасибо за видос! Ждем видос Django + Docker + Gitlab CI =)
Спасибо. Покажите потом с docker обязательно. Оч нужно)
отличное видео. Ждем с использованием Docker
Отличное видео! Беспокоит неоправданно малое количество лайков
4:40 создавать заметки - это одна из важнейших привычек. Всегда этим пользуюсь
Шустренько так. ;) Упомянули Docker. Хотелось бы в будущем посмотреть тему Docker. Спасибо.
Вот это топ-контент!!! Спасибо. Сча буду пересматривать и всё ставить по порядку)
@t0digital
4 жыл бұрын
самому нравится=)
@cannibalirk3055
4 жыл бұрын
@@t0digital Алексей, докладываю. В самом начале не встали пакеты, т.к. с некоторыми была проблема. Я решил не копаться подробно, пошёл дальше, но без них далеко не ушёл. Пришлось возвращаться. Устанавливал из списка по ссылке на гитхаб (не знаю на сколько она актуальна). 1. Нашёл там несколько повторов: libssl-dev libsqlite3-dev libffi-dev 2. Однако, повторы не ломали процесс установки. Проблема была с тремя другими библиотечками (вставляю вместе с комментариями из терминала): а) "Заметьте, вместо «libxslt-dev» выбирается «libxslt1-dev»" (как я понял, тут тоже нет проблемы, т.к. libxslt1-dev у нас уже есть в списке) б) "Невозможно найти пакет python-libxslt1" в)"Пакет python-imaging недоступен, но упомянут в списке зависимостей другого пакета. Это может означать, что пакет отсутствует, устарел или доступен из источников, не упомянутых в sources.list Однако следующие пакеты могут его заменить: python-pil" Возможно, нужно как-то обновить и подкорректировать список. Потому что надо выковыривать эти библиотеки, иначе "пачкой" все остальные не ставятся.
Спасибо за видео. Наконец-то нашлось время паралельно свою виртуалку поднять.
@t0digital
5 жыл бұрын
Отлично, рад читать такой фидбек!
@user-ro2do2uh5y
5 жыл бұрын
@@t0digital а кроме nginx+gunicorn какие аналоги используются на продакшн?
@t0digital
5 жыл бұрын
@@user-ro2do2uh5y кто-то nginx+uwsgi использует, кто-то просто asyncio или nginx+asyncio, кто-то торнадовский сервер - для tornado проектов соответственно
Когда мне нужно было предоставить возможность своим друзьям поглядеть на мой Django проект, и я не знал ничего о деплое, я не придумал ничего лучше, чеи туннелировать трафик в линуксе через ngrock) Спасибо, за урок!
Очень подробно ! И классно!
Круто. Спасибо за труд!)
@t0digital
4 жыл бұрын
Спасибо за отзыв!
Ждем по php и javascript! Спасибо за видео)
Класс! Сейчас посмотрим ;-)
Думал - офигеть какая скорость работы в вим и консоли... потом вспомнил, что на 1.5 скорости смотрю)) Хорошее виде, спасибо!
Спасибо, по итогу не так сложно )
Я пишу проект, связанный с чат-ботом Вконтакте, на Python. Разворачиваю все это дело на raspberry pi. Это видео открыло мне глаза на много новых вещей, которых я не знал о backend-разработке. Однозначно лайк и подписка!
@t0digital
4 жыл бұрын
Йее 💪💪💪 спасибо!
Спасибо за урок, тоже люблю zsh 🙂
@t0digital
4 жыл бұрын
Рад, что полезно!
Я очень благодарен тебе за видео! Лайк и ещё раз лайк!
@t0digital
4 жыл бұрын
Рад, что полезно!
Спасибо за настройку Дебиан. Ты самый лучший
Красавчик! Подписка, колокольчик, лайк! Ну и мегареспект!
@t0digital
4 жыл бұрын
Спасибо 💪
Как всегда крутое и полезное видео!
@t0digital
3 жыл бұрын
Спасибо!
Случайно попал на твоё видео и мне, как iOS деву, видео показалось очень интересным и информативным. Продолжай в том же духе, видео крутые!
@t0digital
4 жыл бұрын
Спасибо, приятно, что видео положительно оценивают не только питонщики:)
Очень полезное видео, помогло!
Супер видос! просто 10/10
@t0digital
4 жыл бұрын
Спасибо!
ОГОНЬ ! лайк колокольчик что угодно! жду еще видосов)
@t0digital
5 жыл бұрын
Спасибо! Пилим!
Большое спасибо, очень четкая подача материала, без розтягивания и все понятно! Удачи и процветание каналу!
@t0digital
3 жыл бұрын
Спасибо за обратную связь! Будем продолжать
спасибо вам за то что вы дали нам такие контент класс удачи вам
@t0digital
4 жыл бұрын
Спасибо!
Я даже скачал это видео как настольную книгу по установке, настройке до момента пока не выучу чтоб работать без подсказок. Еще раз спасибо за видео!
@t0digital
3 жыл бұрын
Отлично! Рад, что полезно
Круто! спасибо большое!
Спасибо огромное за видео!
Спасибо за Инструкцию!
@t0digital
4 жыл бұрын
Спасибо за фидбек:)
Кстати, СПАСИБО ТЕБЕ. Наконец хоть где-то прочитал, как правильно заполнять pgpass. Странно, что нигде в других местах это не смогли нормально написать.
@t0digital
4 жыл бұрын
Отлично!
Классное видео, спасибо. В качестве пожелания отмечу, что было бы хорошо добавить в инструкцию получение бесплатного сертификата от letsencrypt и настройку https протокола в nginx.
Отличное видео, спасибо!
@t0digital
3 жыл бұрын
Рад, что полезно!
Безмерно благодарен!!
Всем материалам - материал!
Спасибо за инфу / коммент для алгоритмов ютуп
Большое спасибо!
Спасибо, прям то, что нужно было
@t0digital
4 жыл бұрын
Рад, что полезно!
Спасибо огромное!)
Завидую тебе белой завистью, братуха. У самого нет стойкого желания изучать программирование, базы данных и фреймворки. Занимаюсь периодически - раз в неделю. Очень хотелось бы заниматься каждый день, но если пропадает интерес, то имхо все это во вред и никакой пользы не принесет. Желаю тебе еще больше продуктивности, удачи, здоровья! п.с. в частности питонушку изучаю.
Самое полезное видео!!!
Весьма интересно про сборки
@t0digital
4 жыл бұрын
Спасибо!
Дорогой, от души!)
Контент на канале хороший. Жаль, что мало :с
Приятно после всяких бесплатных курсов заглянуть в подобное видео и осознать, что хотя бы половина из того, что говорит "ведущий", более-менее понятна :)
Крутое видео! Нужно было запустить джанго на сервере и несмог найти инфы на эту тему, по итогу использовал тестовый)
@t0digital
5 жыл бұрын
Спасибо!
С нетерпеньем жду урок деплоя в докере.
Спасибо за хорошее видео. Было бы интересно узнать, можно ли автоматизировать установку в прод обновленных версий джанго приложений.
круто!
Просто продолжай
@t0digital
4 жыл бұрын
спасибо!
Классно.
Привет, спасибо за видео! После настройки сервера не хватает инструкции по настройке PyCharm, Atom, Sublime, VS для разработки проектов, или приложений на сервере, а не на локальной машине. Чтобы не править через ssh в терминале а использовать полноценную среду разработки со своими плюшками взаимодействовать на прямую без GIT.
Спасибо за видео, а можете сказать своё мнение в сравнение с uwsgi vs gunicorn, он как по мне проще настраивается, если пробовали такую связку поделитесь пожалуйста мнением и как uwsgi для продакшена
Хм, было бы интересно видеть JS и PHP как самые популярные, а также сравнение VDS и практичности использования. Как развитие темы можно было бы выстроить всю тему с разработкой бэка: проект-тест-сборка-гит-деплой-бэкап. А дальше администрирование сервера, выбор сервера и языка разработки для определенной задачи, оценка использования фреймворков на рынке разработки их разделение по специфике, технологии для разработки: Ide, полезный фарш для автоматизации, места для отслеживания тенденций технологий, разбитие технологий по уровням для изучения (джун-мид-лид) Как то так) Будет огонь-огненный
@ram0973
5 жыл бұрын
это на несколько лет))
годный контент
Лайк за пипку=)
@t0digital
5 жыл бұрын
пипка наше всё:)
Огонь! давай следующий для java
@t0digital
5 жыл бұрын
Ох уж эта джава:)
четко
Спасибо
Гениально
Спасибо огромное за канал!!! У меня вопрос! Если мы делаем приложение на Python которое позволяет пользователям загружать файлы размером до 100 мб после чего обрабатывает их на сервере и отправку ответа пользователю, то какой будет примерный стек? Учитывая что файлы могут заливать одновременном(асинхронно) много юзеров параллельно, но обработка должна начинаться только после полной загрузке файла? При этом нужно как то не упереться в потолок по памяти при загрузке большого числа файлов??
2:53 это же публичный ключ) он создан, что бы передавать его по незащищенным каналам и, в последствии, создавать защищенный сеанс (ту же ssh сессию). Так что ничего страшного бы не произошло, но паранойя она такая, да.
@t0digital
4 жыл бұрын
«я бегу, чтобы жить, а вокруг ликует паранойя», чет вспомнилось)
давайте проапгрейдим пипку 😂
Ждем видео про Докер.
Молодец ! Зачетно все объяснил ) В Django 3 добавился модуль asgi.py как его настраивать так же как и wsgi ?
хмммм... я не рассчитывал дойти до конца видео и чтобы у меня всё работало XD однако, всё ок, за исключением мелких нюансов. часть из них (по библиотекам) я описал в комменте ниже. столкнулся с небольшой запарой при сборке установщика python из исходников, застрял немного, потому что не было нужных библиотек, немного откатился назад, однако, успешно пересобрал всё заново. Локали настраивал в самом конце (при настройке postgres), там у меня почему-то установились не только ru, но и группа en локалей, видимо что-то я сам напортачил. Вообще, подобные видео очень полезны. Они дают ощутить масштаб происходящего, показывают как системно связать конфиги, на живом практическом примере помогают понять в каких местах надо углубиться и почитать теорию, чтобы получше разобраться (как раз по сборке из исходников я почитал один официальный хороший туториал, после которого многое понял). Касаемо применяемых технологий, слышал, что сейчас gunicorn уже не актуален. Есть более актуальное решение для аппликэйшн сервера - uWSGI.
@t0digital
4 жыл бұрын
Gunicorn актуален, не переживайте за это
Для Safari есть замечательное расширение Dark mode. Делает темным фон страниц. Может пойти к вашей идее прозрачного бэкграунда кода/консоли и для вэба.
@t0digital
4 жыл бұрын
Спасибо за идею!
Полезное видео для начинающих, спасибо. А отказоустойчивый кластер как собрать в такой связке? Т.е. понятно как сделать кластер Pacemaker+Corosync+HAProxy+Nginx, а вот со стороны django как кластерилизовать?
Ура)
@t0digital
5 жыл бұрын
Да!