我们有nginx的背后有4个网页服务器,每秒262个事件。 我想告诉nginx停止发送请求到该服务器。 如果我从文件中删除服务器并重新加载文件,并不是所有进程中的请求都被放在地板上,然后nginx不再知道该服务器。 我可以将什么添加到configuration,以便它缓慢地将该服务器从池中删除,我可以等待当前的请求完成。
根据nginx文档,更新configuration,然后使用service nginx reload或/etc/init.d/nginx reload命令,应该用新的configuration启动新的工作进程,并closures旧的工作进程的任何监听套接字,防止新的连接给他们。 这些老工人进程将继续运行,直到他们完成为客户服务,然后closures。
在nginxconfiguration中将服务器标记为closures。 你也可以检查max_fails和fail_timeout参数。 通过发送HUP信号重新加载configuration到主节点。
参见nginx手册
请注意,您应该使用QUIT信号正常closures服务器节点。