解决Nginx并发限制无效问题的方法
Nginx限制并发无效的解决方法有以下几种: 1. 检查配置文件是否正确,确保`worker_processes`和`worker_connections`参数设置正确。 2. 检查Nginx日志,查看是否有错误信息。 3. 检查系统资源是否充足,如CPU、内存等。 4. 检查网络连接是否正常,如带宽、延迟等。 5. 如果使用了第三方模块,检查模块是否正确安装并启用。 6. 如果以上方法都无法解决问题,可以尝试升级Nginx到最新版本。
上一课菜鸡源码讲到使用limit_conn_zone$binary_remote_addrzone=perip:10m;和limit_connperip1;来限制并发的方法。
但是这种方法如果网站启用了HTTP/2上面的设置就没有作用了,我们可以继续改进一下。
解决方法示例
limit_conn_zone$binary_remote_addrzone=perip:10m;limit_conn_zone$server_namezone=perserver:10m;server{...#限制perip域(客户端IP)的连接数为10limit_connperip10;#限制perserver域(当前虚拟服务器)的连接数为100limit_connperserver100;}
继续加上limit_conn_zone $server_name zone=perserver:10m;和limit_conn perserver 100;即可解决。
相关专题