NginxconfigurationDreamHost VPS

我把我的网站在Dreamhost VPS上运行在nginx上。 凉。 我想通过将以下内容添加到站点范围的nginx conf文件(/dh/nginx/servers/httpd-psxxxxxx/nginx.conf)的http块来限制每个IP的连接数量:

limit_conn_zone $binary_remote_addr zone=addr:10m; limit_conn limit_per_ip 50; 

重新加载nginx,一切工作正常和丹迪。

当服务器重新启动时,nginx无法启动。 我必须再次转到nginx文件,注释掉限制每个IP的连接数的两行,重新加载nginx,然后返回并取消注释这两行,然后重新加载nginx。 之后,一切都很好。

如果我尝试重新加载服务器后重新加载nginx我得到以下错误信息:

 webserver... nginx: [emerg] zero size shared memory zone "limit_per_ip" failed! 

我究竟做错了什么? 我所要做的就是防止单个IP占用所有连接,并通过触发重新启动的屋顶来驱动我的VPS上的RAM。

问题是你命名你的区域addr但是你把它称为limit_per_ip ,这不是你select的名字。

limit_conn_zone指令中将区域名称从addr更改为limit_per_ip ,或在limit_conn_zone指令中将区域名称从limit_per_ipaddr