Тут наверное будет жесткий тупняк, прошу не бить ногами ) Только изучаю деплой и git, тк в вебе и вообще в программировании недавно.
Читаю TDD with Python. Начиная с 8-ой главы, чтобы продвинуться дальше, нужно заиметь свой сервер, удовлетворяющий следующим условиям:
- Your server is running Ubuntu 14.04 (aka "Trusty/LTS")
- You have root access to it.
- It’s on the public Internet.
- You can SSH into it.
Правильно ли я понимаю, что если я создам аккаунт, скажем, на digitalocean и заимею там дроплет, то у меня всё это будет? Просто там платить надо и я не хочу просто так выкинуть деньги.
И вообще я хочу в целом понять процесс деплоя, а то все мануалы начинаются прямо с настройки сервера, не говоря о том, как собственно, этот самый сервер заиметь. Видимо, это чертовски очевидно, а объяснять для всяких младенцев такие элементарные вещи - излишне =)
Что я сейчас понимаю (или думаю, что понимаю):
1) На DO я как бы арендую себе комп, который будет моим сервером, верно? Потом устанавливаю туда, скажем, nginx, и трачу пару ночей и кучу нервов на настройку.
2) Нужно будет скинуть на сервер исходники моего проекта, например, посредством клонирования репозитория с github'а. И зависимости установить + со статикой разобраться. Статику сам nginx должен раздавать, а не django (использую этот фреймворк), тк это эффективнее.
3) Этот сервер будет иметь IP-адрес, через который он будет доступен для 'внешнего мира', и можно будет этот IP привязать к купленному домену.
4) Для связи с сервером лучше иметь Линукс на локальной машине.
Всё так? Без подробностей, конечно.
Знаю, что есть простые варианты без всей этой свистопляски, которые подходят для 'поиграться'. Например, pythonanywhere. Туда я уже пробовал свой проект закинуть, всё работает, но, понятное дело, что это не то. Надо понять основы.
Просто в этой книжке автор не рассказывает ничего об этом, он там тоже сразу сразу к настройке сервера переходит.
1) На DO я как бы арендую себе комп, который будет моим сервером, верно? Потом устанавливаю туда, скажем, nginx, и трачу пару ночей и кучу нервов на настройку.
Да.
VPS - Это, с одной стороны, что-то вроде виртуальной машины, кучу которых можно запускать/останавливать на одной физической. С другой стороны, все, что говорят про более низкую производительно ОС в виртуальной машине (по сравнению с ОС на живом железе), это практически не относится к VPS (причина - разные принципы виртуализации).
2) Нужно будет скинуть на сервер исходники моего проекта, например, посредством клонирования репозитория с github'а. И зависимости установить + со статикой разобраться. Статику сам nginx должен раздавать, а не django (использую этот фреймворк), тк это эффективнее.
да я уже всё сделал ) создал дроплетку на DO, соединился с ней по ssh, и всё прошло на удивление гладко. Думал потрачу в первый раз больше 4 часов ) Сайт работает, юху! Теперь только доки nginx и gunicorn читать и вникать, что там к чему
Ногами все же стоит попинать...Вместо выдумывания каких-то странных схем, возьмите и установите сервер на виртуальной машине. Заодно научитесь разворачивать linux.
Some people get to this chapter, and are tempted to skip the domain bit, and the "getting a real server" bit, and just use a VM on their own PC. Don’t do this. It’s not the same, and you’ll have more difficulty following the instructions, which are complicated enough as it is.