ajp_keep_conn

在 NGINX 中,`ajp_keep_conn` 指令启用与 AJP 后端的持久连接。

语法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 配置中的 httpserverlocation 块,使其在不同路由设置中具有灵活性。它充当一个简单的开关,用于切换 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 预期的并发连接数,可能会导致连接被拒绝的错误。

← 返回所有指令