如何在专用服务器上运行多个Golang应用程序?

时间:2017-01-30 13:24:10

标签: go web-applications server

我是Go新手,我一直试图弄清楚如何在专用服务器上部署我的应用程序。

当我使用PHP时,我使用了标准设置:

Apache and PHP diagram

但我对如何部署Go应用程序感到困惑。

我知道我可以在端口:80上运行单个应用,但如何运行多个应用?

这是一般的想法:

Multiple apps diagram

或者我应该使用这样的东西:

Nginx diagram

有人可以澄清大多数Go开发人员部署其应用的方式吗? 谢谢!

3 个答案:

答案 0 :(得分:3)

如果您需要多个应用来提供HTTP请求,您一定要考虑将Nginx用作reverse proxy。您可以转发给定路由上的所有请求,例如/ api到一个服务,/ ui到第二个服务,前提是它们绑定到不同的端口。

答案 1 :(得分:3)

我强烈建议和凯蒂一起去。您可以使用不同端口上的所有应用程序设置服务器(尤其是更高端口,即1024及以上,因此它们不需要是root用户),然后使用proxy指令将流量转发到您的应用程序和这样。作为奖励,您还可以免费获得Let's Encrypt证书支持!

https://caddyserver.com/docs/proxy了解有关proxy指令

的更多信息

答案 2 :(得分:1)

你可能想看一个Traefik(https://traefik.io/),一个基于go的网络代理