такой проблемой - может кто-нибудь решал вопрос с supervisor-ом:
1. локально проект собирается и запускается командой (доступен из браузера, все ок):
swift run App serve --hostname 0.0.0.0 --port 8080
2. установил supervisor, создал конфиг файл для supervisor в директории
/etc/supervisor/conf.d/,
в конфиге следующая команда
command=/path_to_project/.build/release/App serve --env production --hostname 0.0.0.0 --port 8080
(и все остальное по туториалу как тут https://docs.vapor.codes/deploy/supervisor/)
сделав релизную сборку командой
swift build -c release
запустил через команду (все без ошибок в консоле, имя программы - hello):
sudo supervisorctl add hello
но теперь не могу достучаться из браузера по http://ip_address:8080
(Nginx пока не устанавливал, следующим шагом)
sudo supervisorctl status - показывает, что проект запущен
что-то упускают в настройке supervisor?
буду благодарен за помощь - все по 5 раза перепроверил 😅
Стикер
Стикер
Стикер
может тривиальный вопрос задам... но мы должны собирать каждый раз релизую сборку проекта (swift build -c release), перед тем как supervisor расскатит проект?
Возможно в коде есть http.server.configuration
Если изменений в коде нет, то зачем? Бинарник не поменялся
По-идее, явное указание через параметр должно иметь более высокий приоритет
не, конечно, если были изменения предполагал, что supervisor в момент добавления программы пересобирает сборку (я про supervisorctl start)
в коде vapor проекта?
Он сам ничего не собирает, он просто запускает бинарник по пути. Это же не докер.
По-идее да, и насколько я помню, у меня оно работает, но лучше проверить
Только что проверил — перекрывает
Да, в фукнции configure()
Код перекрывает или аргументы?
Логично
проверил, нет
то есть имеет больше смысл пробовать systemd?
Да. Вообще не очень понятно, откуда время от времени вылезает супервизор, как говно мамонта :) Из старых мануалов наверное.
Стикер
на Get started странице Vapor))
Вот-вот
Добавьте в configure() где-нибудь ближе к началу: app.http.server.configuration.hostname = "0.0.0.0" app.http.server.configuration.port = 8080 и не надо будет в параметрах запуска указывать. В принципе, и env там же задается.
работает, спасибо!! осталось аккуратно настроить nginx)
Так он же штатно в Vaportools даже. Итог почему бы и нет, раз все готово, а работает так же!?
Так если ты сможешь скинуть сюда как встроенным вариантом заменить супервизорд, то буду очень очень благодарен!
https://docs.vapor.codes/deploy/systemd/
Доку по вапору тут кто-нибудь читал кроме меня? :)
Обсуждают сегодня