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

如何在专用服务器上运行多个Golang应用程序?,go,web-applications,server,Go,Web Applications,Server,我是一个新手,我一直在想如何在专用服务器上部署我的应用程序 当我使用PHP时,我使用了标准设置: 但我对如何部署Go应用程序感到困惑 我知道我可以在端口:80上运行单个应用程序,但如何运行多个应用程序 这是总的想法吗 或者我应该使用这样的东西: 有人能澄清大多数Go开发者部署应用程序的方式吗? 谢谢 > P>您可能希望查看Traefik(),一个基于GO的Web代理< /P> < P>如果您需要多个应用程序来服务HTTP请求,您应该绝对考虑使用NGIX作为A。您可以将给定路由上的所有请求转

我是一个新手,我一直在想如何在专用服务器上部署我的应用程序

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

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

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

这是总的想法吗

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

有人能澄清大多数Go开发者部署应用程序的方式吗?
谢谢

> P>您可能希望查看Traefik(),一个基于GO的Web代理< /P> < P>如果您需要多个应用程序来服务HTTP请求,您应该绝对考虑使用NGIX作为A。您可以将给定路由上的所有请求转发到一个服务,例如/api和/ui,只要它们绑定到不同的端口。

我强烈建议使用Caddy。您可以在服务器上设置不同端口上的所有应用程序(特别是更高的端口,即1024及以上,因此它们不需要是根端口),然后使用
proxy
指令将流量转发到您的应用程序等。作为奖励,您还可以免费获得Let's Encrypt证书支持


有关
代理
指令

的详细信息,如果您希望在端口80上安装多个应用程序,那么使用一个适当的Web服务器前置您的应用程序是一个不错的选择。Nginx或Apache应该很容易处理(我的首选是Nginx),而且,通过这种设置,Go程序可以设置为在一台计算机上监听;UD套接字之间的数据传递速度非常快,因为它只相当于在内存缓冲区之间复制数据(而不是让数据通过整个TCP堆栈)。