为了账号安全,请及时绑定邮箱和手机立即绑定

Golang webapp 和系统服务的问题

Golang webapp 和系统服务的问题

Go
精慕HU 2023-02-21 13:03:41
我正在尝试在 ubuntu 上使用 gin 框架创建一个 Golang 服务器。在使用 go build 构建后在终端中执行时它工作正常并且在本地同样工作良好。系统化Description=goapp[Service]Type=simpleRestart=alwaysRestartSec=5sExecStart=/home/.../goapp/main[Install]WantedBy=multi-user.target我收到这个错误goapp.service - rediateLoaded: loaded (/lib/systemd/system/goapp.service; disabled; vendor preset: enabled)Active: activating (auto-restart) (Result: exit-code) since Thu 2022-09-29 08:14:10 UTC; 66ms agoProcess: 21628 ExecStart=/home/.../go/goapp/main (code=exited, status=2)Main PID: 21628 (code=exited, status=2)CPU: 9ms
查看完整描述

2 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

Go是编译语言。您需要使用命令将代码构建到可执行二进制文件中,然后通过单元文件中的属性go build将二进制文件的路径提供给 systemd 。ExecStart

请参阅Go 文档,特别是编译和安装应用程序部分,以了解有关如何编译应用程序的更多信息。

在您的示例中,您ExecStart=/home/.../goapp/main.go告诉 systemd 运行源代码文件。该文件不可执行,操作系统无法理解,因此无法执行,systemd 单元因此而失败。


查看完整回答
反对 回复 2023-02-21
?
大话西游666

TA贡献1817条经验 获得超14个赞

向 systemd 添加工作目录可修复此错误。


Description=goapp


[Service]

Type=simple

Restart=always

RestartSec=

WorkingDirectory=/home/.../goapp

ExecStart=/home/.../goapp/main



[Install]

WantedBy=multi-user.target


查看完整回答
反对 回复 2023-02-21
  • 2 回答
  • 0 关注
  • 144 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号