ajp_keep_conn
在 NGINX 中,`ajp_keep_conn` 指令启用与 AJP 后端的持久连接。
Support AJP protocol proxy with NGINX
·
httpserverlocation
语法ajp_keep_conn on | off;
默认值off
上下文http, server, location
参数flag
说明
ajp_keep_conn 指令在 NGINX 中用于控制是否保持与 AJP (Apache JServ Protocol) 后端的持久连接。将其设置为 'on' 时,该指令允许 NGINX 维持并重用与后端服务器的连接,而不是在每个请求后关闭连接。这可以显著提升使用 AJP 的应用程序的性能,因为减少了为每个请求建立新连接所带来的开销。
启用持久连接可以降低延迟并提高吞吐量,因为连接建立的成本(包括建立 TCP 连接和可能的 SSL 握手)只需发生一次。然而,需要考虑后端 AJP 服务器设置的连接限制。如果过多的客户端试图使用有限数量的后端连接,可能会遇到连接被拒绝或延迟过高等问题。因此,应针对应用的具体工作负载特性对配置进行测试。
该指令可以应用于多种上下文,例如 NGINX 配置中的 http、server 或 location 块,使其在不同路由设置中具有灵活性。它充当一个简单的开关,用于切换 AJP 通信的连接处理行为。
配置示例
http {
upstream tomcats {
server 127.0.0.1:8009;
keepalive 10;
}
server {
listen 80;
location / {
ajp_keep_conn on;
ajp_pass tomcats;
}
}
}⚠
将 ajp_keep_conn 设置为 on 可能导致连接耗尽,尤其是在后端服务器无法有效处理多个持久连接时。
⚠
如果后端的连接池设置低于 NGINX 预期的并发连接数,可能会导致连接被拒绝的错误。