繁体   English   中英

创建使用 go 模块的服务

[英]Creating a service for using go modules

我正在尝试在 DO 上的 Ubuntu VPS 实例上部署 Go 应用程序。 我需要创建一个服务,但我能找到的唯一示例包括在本教程中使用GOPATH

由于模块的出现,我不需要使用GOPATH并且我的服务器上没有安装Go

如何更改此代码以创建服务以在没有GOPATH情况下运行 Go 应用程序?

[Unit]
Description= instance to serve api
Requires=mysql.service
After=network.target
After=mysql.service[Service]
User=root
Group=www-data
Environment=GOPATH=/srv/api/
ExecStart=/srv/api/myapp[Install]
WantedBy=multi-user.target

编辑:此文件有效

[Unit]
Description= instance to serve api
ConditionPathExists=/srv/api/myapp-api
Requires=mysql.service
After=network.target
After=mysql.service

[Service]
Type=simple
AmbientCapabilities=CAP_SYS_RAWIO
User=nobody
Group=www-data
LimitNOFILE=1024

WorkingDirectory=/srv/api
ExecStart=/srv/api/myapp-api

StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=myapp-api

[Install]
WantedBy=multi-user.target

不需要GOPATH 只需设置ExecStartWorkingDirectory (以防万一)。

https://fabianlee.org/2017/05/21/golang-running-a-go-binary-as-a-systemd-service-on-ubuntu-16-04/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM