我刚刚使用Iris框架完成了我的第一个后端,但现在我需要将它投入生产,所以我可以在我构建的Slack应用程序中使用它。
为了在本地测试代码,我只使用go run main.go
和ngrok
运行我的文件以使用Slack API进行测试,它已经完成并且已经完成。
我有一个Ubuntu 16.04.3的Droplet和Centos 7的另一个......我正在寻找像pm2
这样的东西去运行服务器并使用nginx指向那个端口但我读了不一样,我必须使用类似https://fabianlee.org/2017/05/21/golang-running-a-go-binary-as-a-systemd-service-on-ubuntu-16-04/
但这对于简单的服务器来说是一个非常长的配置,我的问题是:
这是我第一次使用Go,我只是想了解更多,我是Laravel和NodeJS的后端开发人员。
答案 0 :(得分:3)
如果需要,您可以使用pm2
。当你构建一个go项目时,它会创建一个二进制可执行文件,比如说backend-server
,你可以从终端运行它,然后就像这样启动应用程序:
$ ./backend-server
如果它不可执行或有权限被拒绝,请向其添加可执行权限。
$ chmod +x backend-server
你的二进制文件应该可以运行了。我喜欢用json配置文件(process.json
)来做这件事,这样我也可以传递额外的env变量,而不必在终端输入很多东西。
我的process.json
看起来像这样:
{
"apps" : [{
"name" : "backend-app",
"script" : "./backend-server",
"env": {
"DB_USER": "db_user",
"PORT": 8080
}
}]
}
最后,您可以使用pm2启动应用程序,如下所示:
$ pm2 start process.json
有关json配置的更多详细信息,请参阅official doc
答案 1 :(得分:1)
我认为大多数人会为此目的使用Supervisor,包括我。
为方便您使用,只需查看my Golang project, isaac-racing-server并将isaac-racing-server
替换为您的应用名称,即可将其用作模板。 (Supervisor文件位于a subdirectory。)