Как автоматически запускать Golang-приложения с помощью systemd

Александр Ящук, Zoer, R5AM, Москва, 2018г.
На главную
  1. Проверить, что в системе используется именно systemd:
    
        ps -p 1 -o comm=
        


  2. Создать Unit-файл конфигурации my_golang_app.service для sysytemd в директории /etc/systemd/system:
    
        [Unit]
        Description=Запуск Golang приложения
        After=local-fs.target network.target
    
        [Install]
        WantedBy=multi-user.target
    
        [Service]
        WorkingDirectory=/home/zoer/go/src/trudza40
        ExecStart=/home/zoer/go/src/trudza40/trudza40
        Restart=always
        


  3. Проверить виден ли файл конфигурации в системе:
    
        systemctl status my_golang_app
        
    Должен быть примерно такой результат:
    
        ● my_golang_app.service - Запуск Golang приложения
           Loaded: loaded (/etc/systemd/system/my_golang_app.service; disabled; vendor preset: enabled)
           Active: inactive (dead)
        


  4. Активировать сервис:
    
        sudo systemctl enable my_golang_app
        
    Результат:
    
        Created symlink /etc/systemd/system/multi-user.target.wants/my_golang_app.service →
        /etc/systemd/system/my_golang_app.service.
        


  5. Проверить что статус изменился на enable:
    
        systemctl status my_golang_app
        


  6. Запустить сервис:
    
        sudo systemctl start my_golang_app
        


  7. Ещё раз проверить статус:
    
        systemctl status my_golang_app
        


  8. Проверить перезапуск - изменится PID:
    
        sudo systemctl restart my_golang_app
        


  9. Убить демона и проверить, что systemd его перезапустит с другим PID:
    
        sudo kill OLD_PID
        systemctl status my_golang_app
        


  10. Если необходимо отключить автоматический запуск демона, то:
    
        sudo systemctl stop my_golang_app                 # останавливаем
        sudo systemctl disable my_golang_app              # отключаем
        






На главную
К началу страницы