Как внедрить golang/beego в автозагрузку (systemd, upstart, supervisor) vps linux? Всем привет, подскажите, кто знает. Поставил golang все отлично работает и приложение beego запускается, пробовал добавить в автозагрузку по разным туториалом, в том числи и на японском, прописывал следующее
upstartdescription "A stupid golang http listener"
start on filesystem or runlevel [2345]
stop on runlevel [!2345]
setuid www-data
setgid www-data
respawn
respawn limit 5 2
exec /root/home/src/hello/hello
пробовал еще так
exec ~/home/src/hello/hello
exec go run /root/home/src/hello/main.go
никак не запускается, хотя просто из консоли, все работает
в systemd пробовал так[Unit]
Description=Webhook
[Service]
User=deployer
Group=www-data
Restart=on-failure
ExecStart=/root/home/src/hello/hello
[Install]
WantedBy=multi-user.target
в первом и втором случае, все хорошо добавляется, как сервис, но при запуске пишут ошибки, очень запомнилось failure и коды, вроде 207
в supervisor вообще не добавился, писал так[program:yourapp]
command=/root/home/src/hello/hello # the location of your app
autostart=true
autorestart=true
startretries=10
user=yourappuser # the user your app should run as (i.e. *not* root!)
directory=/ root/home/src/hello/ # where your application runs from
environment=APP_SETTINGS="/srv/www/yourapp.com/prod.toml" # environmental variables
redirect_stderr=true
stdout_logfile=/var/log/supervisor/yourapp.log # the name of the log file.
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
Все время думал, что дело в памяти, хотя на на моем openvz 384мб, а beego жрет примерно 20мб, странно как-то, кто знает, в чем может быть проблема?

21 Авг 2019 в 06:52
160 +1
0
Ответы
1

Судя по вашему описанию, проблема может быть связана с путями к исполняемому файлу вашего приложения. Попробуйте указать абсолютный путь к исполняемому файлу, а также убедитесь, что у пользователя, от имени которого запускается приложение, есть права на выполнение этого файла.

Также обратите внимание на вывод логов при запуске сервиса, чтобы понять, в чем именно проблема. Может быть, система не может найти файл или у вас неверно установлены права доступа.

Примерно так может выглядеть файл конфигурации systemd или upstart для запуска вашего приложения:

[Unit]
Description=Webhook
[Service]
User=deployer
Group=www-data
Restart=on-failure
ExecStart=/полный/путь/к/вашему/исполняемому/файлу
WorkingDirectory=/полный/путь/к/вашему/исполняемому/файлу
[Install]
WantedBy=multi-user.target

После внесения изменений перезапустите ваш сервис через systemd или upstart и проверьте логи на наличие ошибок. Если проблема сохраняется, попробуйте обратиться к сообществу Go или Beego для получения дополнительной помощи.

20 Апр в 13:12
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 493 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир