Зачем свой сервер
Бесплатные площадки удобны, но у них ограничения: засыпают, урезают ресурсы, меняют условия. Небольшой сервер стоит недорого и снимает эти вопросы.
Главное же — вы разбираетесь, как всё устроено на самом деле. Это отдельный полезный опыт, о котором есть что рассказать на собеседовании.
Шаг 1. Арендовать
Для учебного проекта хватит самой скромной конфигурации: один-два ядра, гигабайт-два памяти. Выбирайте площадку, где есть понятная панель и резервные копии.
Систему берите распространённую и с долгой поддержкой — по ней больше всего инструкций.
Шаг 2. Первое подключение и безопасность
Это надо сделать до всего остального, а не потом.
Подключитесь по защищённому соединению с выданными данными.
Настройте вход по ключу и отключите вход по паролю. Сервер с паролем перебирают автоматически круглые сутки — это не преувеличение, загляните в журналы через день.
Заведите отдельного пользователя для работы вместо главного администратора.
Включите межсетевой экран и откройте только нужные порты: подключение, а также обычный и защищённый веб.
Включите автоматические обновления безопасности.
Полчаса работы, которые избавляют от очень неприятных сюрпризов.
Шаг 3. Поставить нужное
Минимум: система контроля версий, средства сборки и то, на чём написан проект. Проще всего — поставить средства работы с контейнерами и запускать проект в них: тогда на сервере почти ничего не нужно.
Шаг 4. Выложить проект
Забрать код из репозитория, создать файл с переменными окружения (пароли только здесь, не в коде), запустить.
Проверьте, что приложение отвечает локально на сервере, прежде чем настраивать всё остальное.
Шаг 5. Веб-сервер впереди
Приложение слушает какой-то внутренний порт. Наружу выставлять его напрямую не стоит. Впереди ставится веб-сервер, который принимает запросы и передаёт их приложению.
Он же занимается защищённым соединением, отдачей файлов и ограничением нагрузки.
Шаг 6. Домен и защищённое соединение
Направьте домен на адрес сервера, получите бесплатный сертификат и настройте автоматическое продление. Без защищённого соединения браузеры показывают предупреждение, и проект выглядит несерьёзно.
Шаг 7. Автозапуск
Настройте так, чтобы после перезагрузки сервера всё поднималось само. Иначе однажды сервер перезагрузится ночью, а вы узнаете об этом от пользователей.
Что забывают чаще всего
Резервные копии. Настройте сразу: копия базы по расписанию и хранение в другом месте. Без этого одна ошибка стирает всё.
Проверку, что копии восстанавливаются. Копия, которую ни разу не разворачивали, — это надежда, а не копия.
Место на диске. Журналы растут и однажды забивают диск. Настройте ротацию.
Пароли в репозитории. Проверьте перед выкладкой.
Сколько это занимает
Первый раз — вечер-два с непривычки. Второй раз — час. И этот опыт остаётся с вами: рассказ о том, как вы настраивали сервер, на собеседовании звучит гораздо весомее, чем «развернул на бесплатной площадке в два клика».
Хватит читать — пора делать
На CohortX можно найти команду под пет-проект и получить тот самый опыт, о котором спрашивают на собеседовании.
Похожие статьи
- Where to find open data for practice projectsThe kinds of sources, how to choose a dataset that yields something interesting, and what to check before you start.
- Где брать открытые данные для учебных проектовКакие бывают источники, как выбрать набор, чтобы получилось интересно, и что проверить перед началом работы.
- Writing test cases and bug reportsThe structure of a good test case, the mandatory parts of a bug report, and a walk-through of bad examples.