2016-11-08 46 views
-1

我的目標是讓Web服務器在默認端口上工作,因此用戶不必輸入端口#。使用LAMP堆棧很容易,其中A是apache ...並且不存在其他Web服務器。但是,如果我購買Centos的通用託管,並且我想運行 1)Gunicorn/NGINX for Python/Django - >從外部訪問example.com(不需要通過Web瀏覽器輸入端口 2)Spring Java EE容器中的框架 - Java EE默認使用端口8080和該範圍內的其他端口,但人們只需輸入一個域名並期望它可以正常工作。 - >因此,從example2.com 3)的Node.js可達 - 可達從example3.com 4)PHP應用如WordPress,Drupal的上LAMP - example3.com如何使用Docker在一臺服務器上的默認端口上運行各種Web服務器?

建議讚賞。 我最近的經驗似乎是這樣做的,例如AWS會提供負載平衡器,允許只從負載均衡器訪問的公共Web應用程序服務器訪問。

感謝, 布魯斯

+0

是的,代理/負載均衡器就是你想要的。 – Thilo

回答

1

您可以使用前面的幾乎任何HTTP服務器做這種工作的。

將所有內容(tomcat,nodejs,gunicorn,uwsgi等)都綁定到本地http或文件套接字,並使用您最喜愛的服務器的代理功能將它們全部綁定到此主機上。 nginx的命名:使用一個服務器和/或不同服務器塊適當服務器名稱集上的不同位置來創建自定義的主機。

幾臺服務器:

最後這取決於您的特定需求(和經驗)來挑選所需的設置。

編輯:有點遺憾的碼頭工具 - 但同樣的事情適用於容器 - 除非你不使用文件套接字,而是使用私有或公共網絡中的(http)套接字來做所有事情。

+0

我想知道如果我能得到更多的細節。因此,具有mod_proxy的nginx或apache2將用作負載均衡器(根據課程作者的說法,它是如何在AWS上描述的最佳實踐)。無論如何,代理前端監聽網頁的默認端口 - 端口80.不知何故,它會重定向到正確的服務器或docker容器,具體取決於應用程序類型(J2EE,NodeJS,gunicorn或uwisgi for python web應用程序) ?我怎樣才能瞭解更多關於這個 - 代理服務器,將請求引導到適當的服務器類型? –

+0

基本上,我在尋求有關如何瞭解更多信息的建議......書籍,在線培訓等。 –

相關問題