Comments 10
Радует, что вы не стали палить из пушки по воробьям, т.е. обошлись без Докера.
Cron - это стандартный инструмент в операционных системах Unix, который позволяет запускать задачи по расписанию.
Да, но вы взяли не BSD, а Убунту, где cron уже не в почёте. Рекомендуемая замена – таймеры systemd.
при перезапуске или сбое приложения обработчик перестанет работать! Тут нам и поможет Supervisor
Опять же, это решается через стандартный systemd. В доке советуют Супервизор по другой причине - параллелить процессы воркеров. И это тоже можно решить без Супервизора, но идти против официальной доки новичку выйдет дороже. Почему в документации не предложены другие варианты - для меня загадка.
Спасибо за Ваш комментарий.
Вы правы, что systemd это хорошая альтернатива, но для этого гайда мы выбрали Supervisor, исходя из того что документация Laravel также его рекомендует и для новичков отлично подходит. Возможно сделаю статью по systemd
Не могли бы вы объяснить, в каких случаях, на ваш взгляд, целесообразно использовать докер?
Вот есть у меня VDS, на котором крутится 4 сайта.
Появилась мысль (скорее пришло время что-то обновить) перевести это дело на докер.
Есть ли в этом смысл? Облегчит ли это администрирование, например, обновление версий PHP, nginx, базы данных? Или проще, легче, безопаснее не будет?
Вопрос и к автору статьи.
Снова ощущение жуткой затянутости. Непонятно, как вам удается на одном и том же материале растянуть стандартную DO-шную инструкцию в 10 раз. В то время как собственно деплой свёлся всё к тому же git clone.
Причем неувязок в этой части ещё больше. Непонятно, в каком репозитории ванильная Убунта должна взять php8.3. И почему обещанного "и мы с нуля "накатим" операционную систему" в ней нет. Я понимаю, что выгорание и усталость, но без финальной проверки по шагам с нуля публикация подобных инструкций не имеет смысла.
Но главное - вы же сами себе и усложнили задачу десятикратно. Как и с кодом, сложный и запутанный текст сложнее тестировать. По простой и короткой инструкции пробежаться легко. А на этого монстра проще махнуть рукой, "И так сойдёт!".
Причем даже будучи затянутой, статья не покрывает даже необходимый минимум. К примеру непонятно, кому нужен сайт без HTTPS. Разделив статью хотя бы на две части, "Настройка VPS в качестве веб-сервера" и "Выкладка приложения на Laravel на настроенный VPS", вы бы сильно облегчили жизнь как себе, так и читателю.
Спасибо за Ваш подробный и критический отзыв. Ценю, что вы уделили значительное время, чтобы изучить и отметить недостатки материала. По затянутости - не соглашусь, старался делать максимально кратко - возможно с Вашим опытом читать такой материал немного скучно. Остальные замечания справедливы, текст дополнен. Конструктивная критика помогает расти и совершенствоваться.
Эту и прошлую часть добавил себе в избранное - отличный материал. У нас не большая компания и отдельных DevOps-ов в штате нет. Поэтому задачу авто-деплоя я решал методом организации docker-контейнеров: корпоративный git поднял на базе Gitea, а так же подключил туда Drone. Бесплатно и сердито. Но со своими задачами справляется отлично и уже два года сбоев нет.
Надо бы ещё добавить, как прикрутить домен и ssl-сертификат. И хотя бы пару строк о том, как через разные порты размещать другие приложения на этом же VPS
Мне кажется, или настройка владельца\прав на подкаталоги проекта прошла до git clone (соотв. каталог пуст)?
А вообще руководство годное. Я считаю, что этот путь нужно хотя бы раз пройти каждому PHP разработчику.
Гайд по деплою web-приложений для новичков. Часть 2. VPS и настройка окружения