当前位置: 首页 > news >正文

Linux---Tomcat服务器Varnish代理服务器

Linux 上配置 Varnish 作为 Tomcat 服务器的反向代理

Varnish 是一款高性能的 HTTP 加速器和反向代理缓存服务器,常用于前端缓存动态内容(如 Java Web 应用),减少 Tomcat 的负载。Tomcat 是 Java 应用的容器,通常运行在 8080 端口。Varnish 可以直接代理 Tomcat(通过 HTTP),比通过 Apache + mod_jk 更简单高效,尤其在缓存命中时性能提升显著。

1. 基本架构
  • Varnish:监听公共端口(如 80 或 443 前需 SSL 终止),作为入口。
  • Tomcat:运行在后端端口(如 8080),处理动态内容。
  • 典型部署:Varnish 在前端(端口 80),Tomcat 在本地或远程的 8080 端口。
  • 注意:Varnish 不原生支持 SSL,如果需要 HTTPS,通常在前加 Nginx 或 Pound 处理 SSL 终止,然后转发到 Varnish。
2. 安装步骤(以 Ubuntu/CentOS 示例)

安装 Tomcat(假设单机部署):

  • 下载 Tomcat(例如 apache-tomcat-10.x.tar.gz)。
  • 解压到/opt/tomcat,启动./bin/startup.sh
  • 默认监听 8080 端口,确保应用部署在 webapps 下。

安装 Varnish

  • Ubuntu:添加官方仓库后apt install varnish
  • CentOS/RHEL:yum install epel-releaseyum install varnish
  • 最新版建议从 varnish-cache.org 下载源代码编译。
3. 配置 Varnish 代理 Tomcat

修改 Varnish 监听端口(让 Varnish 占 80 端口):

  • 编辑/etc/varnish/varnish.params/etc/default/varnish(旧版):
    VARNISH_LISTEN_PORT=80
  • 或在 systemd 服务中调整:-a :80

配置 VCL 文件/etc/varnish/default.vcl):
基本配置(单后端 Tomcat):

vcl 4.0; # 或 4.1,视版本而定 import directors; # 如果需要负载均衡多 Tomcat backend tomcat { .host = "127.0.0.1"; # Tomcat 主机 IP,如果远程改成对应 IP .port = "8080"; # Tomcat HTTP 端口 .connect_timeout = 600s; .first_byte_timeout = 600s; .between_bytes_timeout = 600s; .probe = { # 可选:健康检查 .url = "/"; # 检查根路径 .timeout = 1s; .interval = 5s; .window = 5; .threshold = 3; } } sub vcl_recv { set req.backend_hint = tomcat; # 不缓存动态内容(如登录、POST),直接 pass 到 Tomcat if (req.method == "POST" || req.url ~ "\.(jsp|do|action)$" || req.url ~ "^/admin") { return (pass); } # 处理 Cookie:Java Session 常使用 Cookie,避免缓存带 Session 的页面 if (req.http.Cookie ~ "JSESSIONID") { return (pass); } # 移除不必要的 Cookie unset req.http.Cookie; } sub vcl_backend_response { # 移除 Set-Cookie 如果不想缓存带 Session 的响应(慎用,根据应用调整) # unset beresp.http.Set-Cookie; # 设置缓存时间(静态资源长缓存,动态短缓存) if (bereq.url ~ "\.(jpg|png|css|js)$") { set beresp.ttl = 1d; # 静态文件缓存 1 天 } else { set beresp.ttl = 10m; # 动态页面短缓存 } } sub vcl_deliver { # 添加缓存命中标志(调试用) if (obj.hits > 0) { set resp.http.X-Cache = "HIT"; } else { set resp.http.X-Cache = "MISS"; } }
  • 重启 Varnish:systemctl restart varnish
4. Java 应用特定注意事项
  • Session 管理:Tomcat 默认使用 JSESSIONID Cookie。如果页面依赖 Session,Varnish 缓存会造成 Session 丢失。解决方案:
    • 在 VCL 中检测 Cookie 并return (pass);(不缓存)。
    • 或在应用中设置响应头Cache-Control: no-cache
  • 静态资源:CSS/JS/图片等可安全长缓存,提升性能。
  • X-Forwarded-For:Varnish 默认添加,Tomcat 可通过 Valve 配置获取真实客户端 IP。
  • 多 Tomcat 负载均衡:使用directors.round-robin;directors.random;定义多个 backend。
5. 测试与优化
  • 访问 http://your-server-ip,应看到 Tomcat 应用。
  • curl -I检查X-Cache: HIT/MISS
  • 监控:varnishstatvarnishlog
  • 如果应用是动态 Java(如 Spring Boot),缓存命中率取决于静态内容比例,通常 20%+ 即可显著加速。
6. HTTPS 支持

Varnish 不处理 SSL,推荐:

  • Nginx 前置:Nginx 监听 443(SSL),代理到 Varnish 80。
  • 或 Hitch/Pound 作为 SSL 终止器。

这种配置简单高效,许多生产环境直接用 Varnish + Tomcat,而非加 Apache 中间层。如果有具体错误或应用细节,可进一步调整 VCL。

http://www.jsqmd.com/news/205895/

相关文章:

  • EasyGBS打造智能视频监控新体系
  • _基于springboot的二手车交易系统(11649)
  • 爆肝程序员必看!RAG 2.0实战全攻略:从零构建企业级AI原生投诉系统,小白也能秒变AI架构师!
  • EasyGBS重塑商业场所视频监控管理新模式
  • AI圈炸锅!DeepSeek-OCR黑科技:压缩10倍长文本,成本直降90%!VTC技术让大模型“过目不忘“,中科院发布权威评测
  • ue用tick通信执行方法 mcp铺垫
  • 电加热烘箱功能升级,2025年有实力的优质源头生产厂家推荐 - 品牌推荐大师
  • 家庭聚会喝什么酒?适配全年龄层的 8款优选酒清单 - 资讯焦点
  • 【干货】大模型记忆革命:HGMEM技术让AI推理能力提升73%,开发者必看
  • 2026绿化趋势分析,苗木批发基地的成长轨迹,白蜡/红叶石楠/青叶复叶槭/樱花/红叶李,苗木批发基地批发商排行榜 - 品牌推荐师
  • 震惊!AI大模型不是越大越好!ICML 2025最新研究:中小模型+海量文档=性能开挂,小白也能懂的省钱攻略
  • 留学党必看!英国留学中介TOP榜,精准匹配优质机构 - 留学机构评审官
  • Dify二开系列:从LightRAG到多模态RAG,全能化进化之路
  • 保姆级教程:Spring AI RAG知识库构建,让你的AI助手“满腹经纶“!
  • 基于Vue的民俗文化管理系统设计与达成04j02(程序 + 源码 + 数据库 + 调试部署 + 制作环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
  • 【热评】“LLM是死路“!Meta前AI首席杨立昆创业新方向,AI程序员必看的技术革命
  • 上海留学中介榜单:口碑好之选,助力留学之路稳妥前行 - 留学机构评审官
  • 上海留学中介实锤榜!录取率高,助学子申请海外名校 - 留学机构评审官
  • 震惊!Google数据护城河被AI攻破?大模型开发者必看:AI Agent如何颠覆传统搜索,规模速度极限挑战
  • 别再被“虚假快“迷惑!7个指标教你判断大模型服务真实性能,小白也能秒懂的AI开发干货!
  • spring事务面试
  • maven安装jar报异常
  • Java并发包中的PriorityBlockingQueue解析
  • AI 技术在CRM 系统中的应用
  • 开题报告 “卡壳” VS “开挂”?虎贲等考 AI 让学术起点赢在合规
  • 2026最新PLC控制柜企业top5推荐榜!优质生产厂家及服务商解析/选择指南 - 全局中转站
  • 学长亲荐MBA必看TOP8AI论文平台测评
  • 51405098-100 逻辑控制器模块
  • AI 写论文哪个软件最好?深挖内核:虎贲等考 AI 凭 “学术三重门” 碾压同类
  • 2026年知名的智慧农业四情监测,农业四情监测管理系统,农业四情监测站厂家选购参考名录 - 品牌鉴赏师