《从0开始架设服务》三:使用nginx作为反向代理,单机部署多个docker应用

问题出现在部署nextcloud的时候,我希望使用一个nginx去反向代理多个应用,被代理的各个应用都在docker里,这时候有两种方案:

“方案 1

在单主机上运行一个真实的 Nginx(不在容器时运行),作为反向代理服务器。它针对不同的域名请求,转发给相应的容器。

方案 2

在单主机上运行一个容器 Nginx 作为代理服务,在启动该代理服务容器时,必须通过 –link 将所有的 Web 应用容器关联过来。由于 Docker 容器关联的实现方式,每次 Web 应用容器重启上,都必须要重启代理服务容器,这将影响到其它 Web 容器的可用性。因此不考虑使用这种方案。” 引自https://www.atjiang.com/multiple-domains-deploy-via-dockers-nginx/

为什么用方案1?

如果使用一个docker里面的nginx作为reverse proxy,它无法访问到主机的端口,只能访问到它容器内部的端口,这显然不是我们想要的。这里的做法是:主机的nginx不做内容,只做负载平衡,将对应的请求转发到对应的docker里,而docker将服务端口映射到宿主机,完成与reverse proxy之间的通讯。

开始正题:

在开始部署之前,需要注意内存量是否够用,多个docker对内存的消耗是非常大的,所以为了防止内存不足,我们在这里为系统添加虚拟内存 ~4G:

使用su用户

dd if=/dev/zero of=/home/swap bs=1024 count=4096000
(实际上4G应该是4096*1024,这里取近似)

mkswap /home/swap
3. 用swapon挂载swap文件:

swapon /home/swap
4. 防止重启后失效:

vim /etc/fstab
添加/home/swap swap swap default 0 0
5. free -m查看内存使用情况,这时候已经可以看到swap内存被成功挂载了

未完待续。。。
搬运我的博客https://blog.cybertaotao.com/?p=24

原文链接:https://blog.csdn.net/weixin_41262316/article/details/102694272

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享