这可能是一个非常愚蠢的问题,但我仍然会问它。 Nginx读取nginx.conf文件&将信息保存在内存/缓存中,直到你执行了'nginx -s reload'。 有没有办法可以直接在内存中修改nginx配置,因为我需要每分钟重新加载多次,配置文件可能很大。
基本上我试图解决的问题是我有多个码头工具容器即将出现。在一组主机上动态下载。每次容器出现时,它都会有一个不同的IP&端口打开(应用程序设计约束)。而且我正在考虑使用Nginx作为反向代理。考虑到最终产品可能在主机群集上运行3000-5000个容器这一事实,我该怎么做才能解决这个问题。容器启动/销毁的速度可能是每秒100左右。我需要一种快速的方法来确保路由正常发生
答案 0 :(得分:1)
你的目标是什么?您似乎需要进行一些动态路由或其他类型的处理。你应该看一下:
这将允许您根据需要做更多或更少的操作,您可以在像redis这样的数据库中读取一些配置,并根据Redis中的值更改代码的行为。
例如,您可以通过读取Redis中的值来做很多事情,然后在nginx配置文件中使用if指令。您可以使用How can I get the value from Redis and put it in a variable in NGiNX?通过eval模块在nginx中获取redis值。
更新:
对于nginx中的动态IP,您应该查看Dynamic proxy_pass to $var with nginx 1.0。 所以我建议你: