2017-01-30 113 views
2

我是一個Go新手,我試圖弄清楚如何在專用服務器上部署我的應用程序。如何在專用服務器上運行多個Golang應用程序?

當我用PHP工作,我所使用的標準設置:

Apache and PHP diagram

但我很困惑,我應該如何部署我去應用。

我知道我可以在端口:80上運行一個應用程序,但是如何運行多個應用程序?

這是總體思路:

Multiple apps diagram

或者我應該使用這樣的事:

Nginx diagram

有人能闡明大部分進入開發部署他們的應用程序的方式嗎? 謝謝!

+0

如果你想在端口80多個應用程序,然後適當的Web服務器對開您的應用程序是一個很好的路要走。 Nginx或Apache應該很容易處理(我的偏好是Nginx) – sberry

回答

3

我強烈建議跟Caddy一起去。您可以在不同端口上設置所有應用程序(尤其是高端端口,即1024或更高端口,因此它們不需要爲root),然後使用proxy指令將流量轉發到您的應用程序等。作爲獎勵,您還可以免費獲得Let's Encrypt證書支持!

https://caddyserver.com/docs/proxy更多的proxy指令

3

如果需要多個應用服務的HTTP請求,你一定要考慮使用Nginx的作爲reverse proxy。您可以轉發給定路由上的所有請求,例如,將/ api轉發給一個服務,將/ ui轉發給第二個服務,只要它們綁定到不同的端口。

+1

此外,通過此設置,可以將Go程序設置爲在[Unix域套接字]上進行偵聽(http://nginx.org/en/docs/http/ngx_http_proxy_module html的#proxy_pass);在UD-sockets之間傳遞數據的速度非常快,因爲它只是相當於在內存緩衝區之間複製數據(而不是讓它通過完整的TCP堆棧)。 – kostix

相關問題