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

在生产环境中部署 Go/Golang REST Web API

在生产环境中部署 Go/Golang REST Web API

Go
HUH函数 2021-08-30 21:54:54
我正在为移动应用程序编写后端 web api。它应该支持HTTPS。我在 .NET 方面的大部分经验,但对于这一点,我想使用 Go/Golang。我已经准备好了一个示例服务,现在我需要确保它已准备好生产。在 .NET 中,我将只使用 IIS,但我不知道什么是 Go 的好方法。我应该使用 nginx 作为反向代理,还是最好使用 FastCGI ?以及如何确保我的 go 应用程序已启动并将在系统重新启动时运行?我应该使用暴发户还是类似的东西?
查看完整描述

2 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

我一直在使用带有 Go 网络服务的 Nginx FastCGI - 它们可以很好地协同工作。设置起来并不比 HTTP 反向代理更难——除了必须学习如何去做。原则上性能应该好得多,但我没有任何衡量标准来证明这种预感是正确的。我的 web 服务可以在 HTTP 模式和 FastCGI 模式下工作(一次一个或另一个),所以我想我应该做一些基准测试(自我注意!)。

如果您想要正确的系统启动(并且您应该这样做),您需要了解 init 脚本是如何工作的。我有时会作弊并从其他人为类似应用程序编写的现有工作脚本开始,然后对其进行自定义以与我的应用程序一起使用。


查看完整回答
反对 回复 2021-08-30
?
米脂

TA贡献1836条经验 获得超3个赞

我使用 nginx 作为我的 Go 项目的反向代理。我发现在 nginx 中设置有用的服务器设置(例如 TLS、压缩等)比作为纯 Go 服务器要容易得多。

在服务器重启时保持活动状态是一个更复杂的问题。我建议学习如何为您的服务器的 init 守护程序编写脚本/任何东西,然后就这样做。


查看完整回答
反对 回复 2021-08-30
  • 2 回答
  • 0 关注
  • 360 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信