部署nginx的最佳实践

问题描述 投票:1回答:3

我是云端的新手,我想部署我的应用程序,使用nodeMongoDBredis。所有这些部件都成为一个码头集装箱并且可以很好地协同工现在我想建立nginx。我想知道部署负载均衡器的最佳做法是什么?我应该运行nginx作为docker容器吗?或者只是在系统级别安装它?

docker nginx continuous-integration containers continuous-deployment
3个回答
3
投票

我认为这取决于您希望为nginx实例提供多少服务。例如,由于您只能将一个nginx实例绑定到80和443端口,如果要在不同域之间共享相同的SAP,我会在主机上运行nginx(或者在专用堆栈中但它看起来很复杂) 。如果您将SAP用于单个域,那么将它放在堆栈中是完全合理的。


1
投票

如果您在容器上运行堆栈的其他组件,那么将nginx作为容器运行也是有意义的。但这取决于您的环境,可用的工具。您可以轻松地在kubernetes上扩展nginx,也可以在docker swram或您选择的任何其他工具上扩展nginx。

理想情况下,您需要在单独的容器中运行每个组件,以便您可以独立地管理和扩展它们并对其进行故障排除。


1
投票

在您的docker网络中嵌入一个nginx是一个非常好的主意。作为docker容器,在docker网络中,它可以通过其服务/容器名称连接到其他容器,而您将仅在nginx服务上定义端口转发规则。

例如 :

docker network create --driver overlay --attachable demo
docker run -d -p 80:80 --network demo --name nginx nginx
docker run -it --network demo --name alpine alpine

你的外壳应该在高山容器中。做一个“ping nginx”。你应该能够ping它。反之亦然。

所以现在,你在localhost:80(来自你的主机)部署了一个nginx,它可以用其容器/服务名称调用其他容器。在docker网络中部署web-api的访问点非常有用。

© www.soinside.com 2019 - 2024. All rights reserved.