Docker,nginx和一个服务器上的多个站点

我有服务器与Nginx和一个工作的应用程序。 我想添加几个应用程序到这台服务器。 我想为自己吸取一些东西。

负载平衡器和反向代理之间有什么区别? 我应该在哪种情况下使用第一种,在哪种情况下我应该使用第二种?

如果我的网站是静态的,如果不是静态的,我应该使用什么?

此外,在nginx的几个站点的上下文中听到有关容器的信息将是一个很大的优势

负载均衡器和反向代理之间的差异

  • 反向代理接受来自客户端的请求,将其转发给可以实现它的服务器,并将服务器的响应返回给客户端。

  • 负载均衡器在一组服务器之间分配传入的客户端请求,每种情况下都将所选服务器的响应返回给相应的客户端。

采取从nginx文档

TL; DR:

反向代理是关于:使用域名将请求路由到正确的服务器

负载平衡是关于:分配负载到多个实例

如果我的网站是静态的,如果不是静态的,我应该使用什么?

您可以将HTTP反向代理+负载均衡与静态和非静态Web应用程序结合使用,这取决于您的需求。

此外,在nginx的几个站点的上下文中听到有关容器的信息将是一个很大的优势

我推荐每个应用/网站一个nginx容器+一个dynamic反向代理,特别是traefik( http://traefik.io

您需要一个反向代理来将传入stream量路由到正确的应用程序,同时考虑到原始请求的内容(以及您可能定义的规则)。

当确定目标应用程序时,您将需要对它们进行负载平衡 ,以便在其间分配工作量。

这两个任务都可以通过像经典的nginxapachehaproxy等软件来完成,也可以通过那些为微服务世界devise的,比如fabiotraefik等等来完成。