网站投资设计黄贝建设网站建设

张小明 2026/3/12 8:34:10
网站投资设计,黄贝建设网站建设,青岛网站推广计划,wordpress logo 字体颜色在灰度发布、A/B 测试等场景中#xff0c;我们常需要将流量按一定比例分发到不同后端服务。Nginx 提供了 split_clients 模块#xff0c;配合 map 和 proxy_pass#xff0c;可以轻松实现基于客户端特征的流量比例分配。本文将从 Nginx 安装、Systemd 管理、完整配置到临时调…在灰度发布、A/B 测试等场景中我们常需要将流量按一定比例分发到不同后端服务。Nginx 提供了split_clients模块配合map和proxy_pass可以轻松实现基于客户端特征的流量比例分配。本文将从Nginx 安装、Systemd 管理、完整配置到临时调试方案提供一份可直接复制使用的完整教程。一、Nginx 安装Ubuntu 22.04说明以下操作以 root 用户执行。# 1. 卸载系统自带 nginxaptremove nginxaptpurge nginx nginx-common -y# 2. 更新系统并安装编译依赖sudoaptupdatesudoaptinstall-y libpcre3 libpcre3-dev zlib1g-dev openssl libssl-dev# 3. 下载并编译安装 Nginx以 1.29.0 为例wgethttp://nginx.org/download/nginx-1.29.0.tar.gzsudotar-zxvf nginx-1.29.0.tar.gzcdnginx-1.29.0/ ./configure --prefix/usr/local/nginx/makemakeinstall默认安装路径为/usr/local/nginx/主程序为/usr/local/nginx/sbin/nginx配置文件为/usr/local/nginx/conf/nginx.conf。二、Nginx 的 systemd 管理文件创建 systemd 服务文件/etc/systemd/system/nginx.service[Unit] DescriptionThe NGINX HTTP and reverse proxy server Afternetwork.target remote-fs.target nss-lookup.target [Service] Typeforking PIDFile/var/run/nginx.pid ExecStartPre/usr/local/nginx/sbin/nginx -t ExecStart/usr/local/nginx/sbin/nginx ExecReload/usr/local/nginx/sbin/nginx -s reload ExecStop/usr/local/nginx/sbin/nginx -s stop PrivateTmptrue [Install] WantedBymulti-user.target启用并启动服务systemctl daemon-reexec systemctlenablenginx systemctl start nginx三、完整的 Nginx 配置按 50%:50% 比例分流配置文件路径/usr/local/nginx/conf/nginx.confuser root; worker_processes auto; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { log_format main $remote_addr - $remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for $upstream_addr; # 定义 upstream 与 split_clients保持原逻辑 upstream backend_primary { server bigdata.doubbjt.com; } upstream backend_secondary { server bigdata-h101.doubbjt.com; } split_clients ${remote_addr}${http_user_agent} $backend { 50% backend_primary; 50% backend_secondary; } # 新增动态映射 Host 头 map $backend $target_host { backend_primary bigdata.doubbjt.com; backend_secondary bigdata-h101.doubbjt.com; default bigdata.doubbjt.com; # 兜底策略 } server { listen 80; server_name bigdata-ai.doubbjt.com; access_log /var/log/nginx/access.log main; location / { proxy_pass http://$backend; proxy_set_header Host $target_host; # 关键修改动态 Host 头 proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } }✅核心要点split_clients根据${remote_addr}${http_user_agent}哈希值决定流量走向map将$backend映射为对应的Host值proxy_set_header Host $target_host确保后端收到正确的 Host 头避免 404/403。四、临时调试关闭流量分配强制走主环境在测试阶段若需临时让所有流量走backend_primary可使用以下配置user root; worker_processes auto; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { log_format main $remote_addr - $remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for $upstream_addr; # 定义 upstream 与 split_clients保持原逻辑 upstream backend_primary { server bigdata.doubbjt.com; } upstream backend_secondary { server bigdata-h101.doubbjt.com; } ### split_clients ${remote_addr}${http_user_agent} $backend { ### 50% backend_primary; ### 50% backend_secondary; ### } # 新增动态映射 Host 头 map $backend $target_host { backend_primary bigdata.doubbjt.com; backend_secondary bigdata-h101.doubbjt.com; default bigdata.doubbjt.com; # 兜底策略 } server { listen 80; server_name bigdata-ai.doubbjt.com; access_log /var/log/nginx/access.log main; # 临时新增强制所有流量指向 backend_primary set $backend backend_primary; location / { proxy_pass http://$backend; proxy_set_header Host $target_host; # 关键修改动态 Host 头 proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } } 调试完成后删除set $backend backend_primary;并取消注释split_clients块即可恢复分流。五、验证方法访问测试curl-HHost: bigdata-ai.doubbjt.comhttp://nginx服务器IP/查看日志确认后端tail-f /var/log/nginx/access.log日志末尾的$upstream_addr字段将显示实际代理到的后端地址。六、总结本文提供了从安装到上线的完整 Nginx 流量比例反向代理方案所有配置均为可运行的完整版本无任何省略。通过split_clients map proxy_pass的组合可安全、高效地实现灰度流量控制。⚠️ 注意事项Nginx 必须编译时包含http_split_clients_module默认已包含流量比例是统计意义上的均匀分布非逐请求轮询如需用户粘性同一用户始终访问同一后端建议结合 Cookie 或应用层方案。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

教育网站建设市场分析计划书网站开发团队分工

左边是 OpenAI 刚刚发布的 GPT Image 1.5,右边是谷歌的 Nano Banana Pro。相同的提示词,你觉得哪个更好?昨天我说,OpenAI 急了。今天来点更硬核的。三个场景深度实测,是骡子是马,拉出来遛遛。改个发型怎么测…

张小明 2026/3/5 4:15:57 网站建设

网站制作代河南旅游网站建设

终极指南:如何快速获取完整的中国行政区划数据 【免费下载链接】Administrative-divisions-of-China 中华人民共和国行政区划:省级(省份)、 地级(城市)、 县级(区县)、 乡级&#xf…

张小明 2026/3/5 4:15:56 网站建设

手机网站建设制作教程视频wordpress 响应式 企业

补丁管理全攻略 1. 安全更新发布规划 在规划安全更新发布时,务必将所有变更管理维护窗口考虑在内。大多数微软安全更新具有标准化的命令行参数和交付方法,这对于通过 Active Directory 域服务启动脚本部署安全更新十分有用。 WSUS(Windows Server Update Services)会自动…

张小明 2026/3/5 4:15:59 网站建设

哪里有好网站设计wordpress本地环境链接404

macOS Sequoia 15.7.3 (24G419) Boot ISO 原版可引导映像下载 iPhone 镜像、Safari 浏览器重大更新和 Apple Intelligence 等众多全新功能令 Mac 使用体验再升级 请访问原文链接:https://sysin.org/blog/macOS-Sequoia-boot-iso/ 查看最新版。原创作品&#xff0c…

张小明 2026/3/5 4:15:58 网站建设

网站页面配色分析用网站做自我介绍

导语:75MB模型如何颠覆语音识别行业标准 【免费下载链接】whisper-tiny.en 项目地址: https://ai.gitcode.com/hf_mirrors/openai/whisper-tiny.en 在智能设备渗透率突破70%的2025年,语音交互已成为连接人与机器的核心纽带。OpenAI推出的Whisper…

张小明 2026/3/5 4:16:00 网站建设

网站建设实训心得 总结wordpress 增加分类字段

第一章:云原生Agent与Docker网络概述在现代云原生架构中,Agent 通常指部署在节点上的轻量级服务进程,用于采集监控数据、执行调度指令或管理容器生命周期。这类 Agent 需要与 Docker 守护进程深度集成,并通过高效的网络机制与其他…

张小明 2026/3/5 4:16:02 网站建设