我是一個Go新手,我試圖弄清楚如何在專用服務器上部署我的應用程序。如何在專用服務器上運行多個Golang應用程序?
當我用PHP工作,我所使用的標準設置:
但我很困惑,我應該如何部署我去應用。
我知道我可以在端口:80
上運行一個應用程序,但是如何運行多個應用程序?
這是總體思路:
或者我應該使用這樣的事:
有人能闡明大部分進入開發部署他們的應用程序的方式嗎? 謝謝!
我是一個Go新手,我試圖弄清楚如何在專用服務器上部署我的應用程序。如何在專用服務器上運行多個Golang應用程序?
當我用PHP工作,我所使用的標準設置:
但我很困惑,我應該如何部署我去應用。
我知道我可以在端口:80
上運行一個應用程序,但是如何運行多個應用程序?
這是總體思路:
或者我應該使用這樣的事:
有人能闡明大部分進入開發部署他們的應用程序的方式嗎? 謝謝!
我強烈建議跟Caddy一起去。您可以在不同端口上設置所有應用程序(尤其是高端端口,即1024或更高端口,因此它們不需要爲root),然後使用proxy
指令將流量轉發到您的應用程序等。作爲獎勵,您還可以免費獲得Let's Encrypt證書支持!
https://caddyserver.com/docs/proxy更多的proxy
指令
你可能想看看一個Traefik(https://traefik.io/),一個基於去Web代理
如果需要多個應用服務的HTTP請求,你一定要考慮使用Nginx的作爲reverse proxy。您可以轉發給定路由上的所有請求,例如,將/ api轉發給一個服務,將/ ui轉發給第二個服務,只要它們綁定到不同的端口。
此外,通過此設置,可以將Go程序設置爲在[Unix域套接字]上進行偵聽(http://nginx.org/en/docs/http/ngx_http_proxy_module html的#proxy_pass);在UD-sockets之間傳遞數據的速度非常快,因爲它只是相當於在內存緩衝區之間複製數據(而不是讓它通過完整的TCP堆棧)。 – kostix
如果你想在端口80多個應用程序,然後適當的Web服務器對開您的應用程序是一個很好的路要走。 Nginx或Apache應該很容易處理(我的偏好是Nginx) – sberry