使用config.toml文件部署Golang应用程序(api)
我创建了一个小的GolangAPI(nrfapi),其中包括一个config.toml文件。我想在其他ubuntu虚拟机上部署api,因此我使用“GOOS=linux-GOARCH=amd64-go-build”构建api,然后将构建文件scp到VM/var/www/go-diretory。我还在/etc/systemd/system目录中创建一个以.service结尾的单元文件(nrf.service)。在.service文件中,我有以下配置使用config.toml文件部署Golang应用程序(api),go,Go,我创建了一个小的GolangAPI(nrfapi),其中包括一个config.toml文件。我想在其他ubuntu虚拟机上部署api,因此我使用“GOOS=linux-GOARCH=amd64-go-build”构建api,然后将构建文件scp到VM/var/www/go-diretory。我还在/etc/systemd/system目录中创建一个以.service结尾的单元文件(nrf.service)。在.service文件中,我有以下配置 [Unit] Description= insta
[Unit]
Description= instance to serve nrf api
After=network.target
[Service]
User=root
Group=www-data
ExecStart=/var/www/go/nrfapi)
[Install]
WantedBy=multi-user.target
错误
但是,在使用以下命令启动API之后
sudo系统控制启动nrfapi
sudo systemctl启用nrfapi
API没有运行。我从上面的错误消息中意识到API需要config.toml文件配置
我现在的问题是,我不知道应该将config.toml文件放在哪个目录中,这样golang api就可以从那里读取配置参数。谁能帮我解决这个问题?如何执行此操作?如果使用go scrips中文件的相对路径,则可执行文件将相对于当前工作目录查找这些文件。要更改
systemd
中的工作目录,只需将WorkingDirectory
参数添加到Service
部分:
[Service]
WorkingDirectory=/var/www/go
并将config.toml
文件放入/var/www/go
dir中
您还可以使用以下库将静态文件嵌入Go二进制文件:如果您使用Go scrips中文件的相对路径,则可执行文件将相对于当前工作目录查找这些文件。要更改
systemd
中的工作目录,只需将WorkingDirectory
参数添加到Service
部分:
[Service]
WorkingDirectory=/var/www/go
并将config.toml
文件放入/var/www/go
dir中
您还可以使用此库将静态文件嵌入到Go二进制文件中:您是否尝试更改服务器的
工作目录
?您好,是的,我尝试过,并且可以正常工作。谢谢您是否尝试更改服务器的工作目录
。谢谢