如何使用Docker在一台服务器上的默认端口上运行各种Web服务器?

时间:2016-11-08 23:53:54

标签: java python django wordpress nginx

我的目标是让网络服务器在默认端口上运行,这样用户就不必输入端口号#。使用LAMP堆栈很容易,其中A是apache ......并且不存在其他Web服务器。但是,如果我购买Centos的通用托管,我想运行 1)Gunicorn / NGINX for Python / Django - >从外部访问example.com(Web浏览器不需要输入端口)。 2)Java EE容器中的Spring框架 - Java EE默认为端口8080和该范围内的其他端口,但人们只需输入域名并期望它可以工作。 - >可以从example2.com访问 3)Node.js - 可从example3.com访问 4)PHP应用程序,如LAMP上的WordPress,Drupal - example3.com

建议表示赞赏。 例如,我最近的经验似乎是具有负载均衡器的AWS,允许从公共网络访问 - 只能从负载均衡器访问的应用服务器。

谢谢, 布鲁斯

1 个答案:

答案 0 :(得分:1)

你可以使用前面几乎所有的http服务器来完成这类工作。

将所有内容(tomcat,nodejs,gunicorn,uwsgi等)绑定到本地http或文件套接字,并使用您喜欢的服务器的代理功能将它们全部捆绑在此主机上。使用nginx的命名:在一个服务器和/或不同的服务器块上使用不同的位置和正确的服务器名称设置为构建自定义主机。

一些服务器:

最后,这取决于您选择的具体需求(和经验)。

编辑:错过了一个小码头 - 但同样的事情适用于容器 - 除了你不使用文件套接字,而是在私人或公共网络中使用(http)套接字创建所有东西。