Comments 14
Я думаю, что вам тут это всё равно напишут, так что я буду первый — переходите на докер. Вы наустанавливали кучу програм, создали пользователя итд. Всё это можно сделать в докере, будет всё легче, аккуратнее и можно в любой момент всё обновить (ну может быть дб нет). И для всего этого можно использовать ansible.
А потом писать свою кривую систему инициализации на каком-нибудь bash, когда надо будет запустить что-то сложнее одного бинарника.
Контейнеризация — это не серебренная пуля. Их тоже надо настраивать, следить за их состоянием, поднимать упавшие контейнеры. Все это добавляет проблем. Если у меня есть nginx и postgresql то за ними следит systemd можно даже без мониторинга жить какое-то время. С докером так не выйдет. На мой взгляд, если у вас на сервере лежит по одной версии стандартных сервисов, и одно веб приложение, то докер избыточен.
Если надо поднимать несколько разных версий postgresql, несколько разных приложений с разными версиями ruby, и.т.д. То да конечно, проще будет перейти на докер.
Если надо поднимать несколько разных версий postgresql, несколько разных приложений с разными версиями ruby, и.т.д. То да конечно, проще будет перейти на докер.
- За контейнерами следит сам демон докера, там есть соответствующие дерективы запуска
- В докере все что взлетело, с вероятностью 99% взлетит где угодно
- Обновления хостовой системы и образа не зависят от друг-друга и не ломают друг-друга
- На принятой хостовой системе не работает нужная библиотека/приложение — вот вам и докер
Каждый решает для себя сам, но на мой взгляд докер — это очень удобно
Запускать все это из под root пользователя — всегда плохая идея, поэтому надо создать отдельного пользователя, и настроить ему права
Но Вы же в итоге создаете пользователя, который через sudo имеет все рутовые права, не очень понятно чем эта идея лучше, чем просто делать от рута?
Я наблюдал одну интересную вещь. Как только вы создаете новые VPS сервер, на него сразу начинает долбиться куча ботов, пытаясь залогиниться под рутом через ssh. Поэтому в идеале у root пользователя вообще не должно быть доступа к ssh, соответсвенно надо использовать другого.
Для надежности можно было бы выдать ему ограниченное количество прав, создав отдельную группу, но это уже тонкости настройки. Я написал скорее мануал по входу в ansible а не тотальное руководство по настройке веб сервера. Далее можно по аналогии настраивать более тонко.
Для надежности можно было бы выдать ему ограниченное количество прав, создав отдельную группу, но это уже тонкости настройки. Я написал скорее мануал по входу в ansible а не тотальное руководство по настройке веб сервера. Далее можно по аналогии настраивать более тонко.
Если беспокоят ковровые бомбардировки 22 порта — достаточно поменять порт.
Сейчас боты долбят по всем портам и весьма активно. Так что спрятать ssh на другом порту уже не актуально.
Достаточно отключить аутентификацию по паролю, перейти на сертификаты
Сканеры портов никто не отменял.
Sign up to leave a comment.
Настройка сервера для развертывания Rails приложения при помощи Ansible