Systemd集成Golang二进制程序的方法

 更新时间:2023年10月23日 14:48:43   作者:qcy-blog  
这篇文章主要介绍了Systemd集成Golang二进制程序的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

Systemd集成Golang二进制程序

首先新建Service,名称叫做server-api

vim /lib/systemd/system/server-api.service 或者 vim /etc/systemd/system/server-api.service

[Unit]
Description=server api
[Service]
Type=simple
Restart=always
RestartSec=5s
ExecStart=/root/go/main
WorkingDirectory=/root/go/
StandardOutput=file:/root/go/my-service.log
StandardError=file:/root/go/my-service-error.log
[Install]
WantedBy=multi-user.target

ExecStart是go可执行文件的路径

WorkingDirectory要注意,如果程序中使用了相对路径来加载一些配置文件,如果在Service中没有配置WorkingDirectory,默认是根路径,所以配置文件就从根路径来寻找,会造成一些意想不到的情况

启动

service server-api start

停止

service server-api stop

查看状态

service server-api status

开机启动

service server-api enable

到此这篇关于Systemd集成Golang二进制程序的文章就介绍到这了,更多相关Systemd集成Golang程序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • golang http连接复用方法

    golang http连接复用方法

    今天小编就为大家分享一篇golang http连接复用方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Go 实现英尺和米的简单单位换算方式

    Go 实现英尺和米的简单单位换算方式

    这篇文章主要介绍了Go 实现英尺和米的简单单位换算方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • 详解Go hash算法的支持

    详解Go hash算法的支持

    这篇文章主要介绍了详解Go hash算法的支持,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • Golang编写自定义IP限流中间件的方法详解

    Golang编写自定义IP限流中间件的方法详解

    这篇文章给大家详细的介绍了Golang编写自定义IP限流中间件的方法,文章通过代码实例介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-09-09
  • 一文搞懂Go语言中defer关键字的使用

    一文搞懂Go语言中defer关键字的使用

    defer是golang中用的比较多的一个关键字,也是go面试题里经常出现的问题。今天就来整理一下关于defer的学习使用,希望对需要的朋友有所帮助
    2022-09-09
  • goland 实现自动格式化代码

    goland 实现自动格式化代码

    这篇文章主要介绍了goland 实现自动格式化代码的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • 深入解析golang bufio

    深入解析golang bufio

    这篇文章主要介绍了golang bufio解析,golang的bufio库使用缓存来一次性进行大块数据的读写,以此降低IO系统调用,提升性能,需要的朋友可以参考下
    2022-04-04
  • golang如何使用struct的tag属性的详细介绍

    golang如何使用struct的tag属性的详细介绍

    这篇文章主要介绍了golang如何使用struct的tag属性的详细介绍,从例子说起,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • Go中的 = 和 := 区别小结

    Go中的 = 和 := 区别小结

    在Go语言编程中,"="用于给已声明的变量赋值,而":="同时声明并初始化变量,只能在函数内使用,理解这两者的不同,有助于编写更清晰的代码,下面就来介绍一下
    2024-10-10
  • 一文详解Golang的模块版本管理与语义版本控制

    一文详解Golang的模块版本管理与语义版本控制

    在Golang中,模块(module)是Go 1.11版本引入的依赖管理系统,帮助开发者管理项目的依赖,在Go模块推出之前,开发者通常使用GOPATH和vendor目录来管理项目的依赖,本文将给大家详细介绍Golang的模块版本管理与语义版本控制,需要的朋友可以参考下
    2023-12-12

最新评论