nginx – 限制每个服务器块的带宽使用率

在Apache中,我们有一些很好的解决scheme来限制每个虚拟主机的带宽使用,比如mod_bandwidth。 但是,自从我开始使用nginx之后,我无法find限制和监视每个服务器块的带宽使用情况的方法。

我想听听有关监控和限制nginx上每个服务器块的带宽使用情况的一些build议。

你有2个选项:1:使用外部工具或IP表限制整个nginx进程的带宽。

2:通过代理传递给lighttpd并在lighttpd中设置服务器节stream

server.kbytes-per-second = 6250 

如果downloads.domain.net是我们想要限制的东西,那么Lighthttpd将具有以下configuration:

 server.port = 81 server.document-root = "/path/to/downloads" index-file.names = ( ) 

Nginx的:

 server { listen 80; server_name downloads.domain.net; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_pass http://127.0.0.1:81; } } 

当然,你也可以通过特定的文件,文件夹等代理

最终:如果你不想超过特定的带宽点,使用这个和ip-table限制整个端口80stream量(和443)是最终的解决scheme。 (在我的情况下:VoIP服务)