浏览 1.7k
在nginx.conf里面定义了变量
stream {
upstream h1{
server 127.0.0.1:667;
}
upstream h2{
server 127.0.0.1:668;
}
server {
listen 66;
ndg_test; # 自定义的c语言的stream module
proxy_pass $h_server;
}
}如何在自定义的ndg_test里面修改h_server的值来让请求发到不同的服务地址?

按点赞数排序
按时间排序

在提供的配置片段中,h_server变量用作服务器块中proxy_pass指令的参数。要在自定义ndg_test流模块中动态修改h_server的值,可以执行以下步骤:
1. 修改ndg_test流模块:
- 打开自定义ndg_test流模块的源代码。
- 找到需要修改h_server值的相关部分。
- 添加逻辑以根据所需条件或条件更新h_server的值。这可以通过修改流模块代码中的适当变量或数据结构来实现。
2. 重新编译和重新加载NGINX:
- 使用修改后的源代码重新编译自定义ndg_test流模块。
- 请确保遵循自定义模块的特定生成说明。
- 成功编译模块后,重新加载或重新启动NGINX以应用更改。
通过修改自定义ndg_test流模块,您可以根据自己的需求动态控制h_server的值。您可能需要查阅特定于您正在使用的自定义模块的文档或社区资源,以获取有关如何修改其行为的更详细说明。
值得注意的是,修改和重新编译自定义模块需要编程和系统管理知识。确保您拥有必要的专业知识,并遵循将自定义模块编译和集成到NGINX设置中的最佳实践。
0
回答于2023-06-12 17:59
sticky模块只能在linux下吧,win下没有。tomcat好像有个session复制吧,或者可以用共享session。
没办法完全不受影响的,因为mirror是子请求,当子请求未结束时,主请求消耗的内存至少是无法释放的。你可以尝试在/mirror里,把超时时间大幅度调低,包括connect/read/send,再压下看看。
微信公众号
加入微信群