首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Ubuntu/Centos上部署并运行Go API服务器

在Ubuntu/Centos上部署并运行Go API服务器
EN

Stack Overflow用户
提问于 2018-01-27 18:27:00
回答 2查看 2.2K关注 0票数 2

我刚刚完成了我的第一个后端使用Iris框架,但现在我需要把它投入生产,以便我可以使用它在我建立的应用程序。

为了在本地测试代码,我只使用go run main.gongrok运行我的文件,以便用Slack进行测试,它正在工作,并且已经完成。

我有一滴Ubuntu 16.04.3和其他一个与Centos 7.我在搜索类似于pm2 for go的东西,运行服务器并使用nginx来指向那个端口,但是我看到Go时它是不同的,我必须使用类似于这个https://fabianlee.org/2017/05/21/golang-running-a-go-binary-as-a-systemd-service-on-ubuntu-16-04/的东西

但是对于一个简单的服务器来说,这是一个很长的配置,我的问题是:

  • 这是用Go来配置API的常用方法吗?
  • 除了DigitalOcean之外,您建议使用不同的服务来运行我的API吗?

这真的是我第一次使用Go,我只是想了解更多,我是一个后端的开发人员与Laravel和NodeJS。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-27 19:40:00

我认为大多数人都是为此目的使用主管的,包括我。

为了让您轻松,只需查看一下我的Golang项目,艾萨克-赛车服务器,并使用它作为您的模板,用您的应用程序的名称取代isaac-racing-server。(主管文件位于子目录中。)

票数 1
EN

Stack Overflow用户

发布于 2018-01-29 16:20:27

如果愿意,可以使用pm2。当您构建一个go项目时,它会创建一个二进制可执行文件,比如backend-server,您可以从终端运行它,然后像这样启动应用程序:

代码语言:javascript
复制
$ ./backend-server

如果它不是可执行的,或者有权限被拒绝的问题,添加可执行权限到它。

代码语言:javascript
复制
$ chmod +x backend-server

您的二进制程序应该可以运行了。我喜欢用一个json文件(process.json)来实现,这样我也可以传递额外的env变量,而不必在终端中输入很多。我的process.json看起来是这样的:

代码语言:javascript
复制
{
  "apps" : [{
    "name"        : "backend-app",
    "script"      : "./backend-server",
    "env": {
      "DB_USER": "db_user",
      "PORT": 8080
    }
  }]
}

最后,您可以像这样使用pm2启动应用程序:

代码语言:javascript
复制
$ pm2 start process.json

有关json配置的更多详细信息可以在官方医生中找到。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48479093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档