nginx之 nginx限流配置
limit_req zone=req_zone;
嚴格依照在limti_req_zone中配置的rate來處理請求
超過rate處理能力範圍的,直接drop
表現為對收到的請求無延時
limit_req zone=req_zone burst=5;
依照在limti_req_zone中配置的rate來處理請求
同時設定了一個大小為5的緩衝佇列,在緩衝佇列中的請求會等待慢慢處理
超過了burst緩衝佇列長度和rate處理能力的請求被直接丟棄
表現為對收到的請求有延時
limit_req zone=req_zone burst=5 nodelay;
依照在limti_req_zone中配置的rate來處理請求
同時設定了一個大小為5的緩衝佇列,當請求到來時,會爆發出一個峰值處理能力,對於峰值處理數量之外的請求,直接丟棄
在完成峰值請求之後,緩衝佇列不能再放入請求。如果rate=10r/s,且這段時間內沒有請求再到來,則每6 s 緩衝佇列就能回覆一個緩衝請求的能力,直到回覆到能緩衝5個請求位置。
load_module modules/ngx_stream_module.so; #動態載入模組,必須寫道開頭
user nginx; #使用useradd nginx 新增一個nginx使用者
worker_processes 4; #cpu核心數 * 2
worker_rlimit_nofile 102400; #配置nginx開啟最大檔案數 (每個工作程式繫結一個cpu,worker_cpu_affinity配置)
worker_cpu_affinity 0001 0010 0100 1000; #工作程式使用哪個cpu的核心 (以四核為例) 0001是4核的第一個核心 0010是4核的第二個核心
#error_log logs/error.log;
#error_log logs/error.log notice;
error_log logs/error.log info;
pid logs/nginx.pid;
events {
use epoll;
worker_connections 10240;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main; #在server虛擬目錄裡面配置日誌,這裡是全域性日誌
sendfile on;
#tcp_nopush on;
server_tokens off; #錯誤的時候關閉輸出版本號
#keepalive_timeout 0;
keepalive_timeout 30;
gzip on; #壓縮會佔用cpu
gzip_buffers 4 16k;
gzip_comp_level 3; #壓縮等級
gzip_disable "MSIE[1-6]"; #ie瀏覽器1-6禁用gzip
gzip_min_length 1k;
gzip_http_version 1.0;
gzip_types text/plaion application/html application/css application/js; #可以壓縮的檔案型別
gzip_vary on; #根據http頭判斷是否支援壓縮
client_max_body_size 8m; #預設允許客戶端最大上傳檔案大小
#限流
#limit_conn_zone $binary_remote_addr zone=addr:10m; #併發限制(同時啟用一個)
limit_req_zone $binary_remote_addr zone=qps:10m rate=1r/s; #請求限制 每秒鐘處理一個請求
limit_conn_log_level error;
limit_conn_status 503; #超出限制時,返回狀態碼
server{
#limit_conn addr 1; #併發限制設定為1,是為了測試 addr是zone空間在53行(同時啟用一個)
#limit_req zone=qps; #請求限制
limit_req zone=qps burset=1 nodelay; #請求限制()
}
#限流end
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2648406/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- nginx 限流配置Nginx
- Nginx限流Nginx
- Nginx原始碼研究之nginx限流模組詳解Nginx原始碼
- Nginx之(三)Nginx配置Nginx
- Nginx限流特技Nginx
- Nginx分片限流Nginx
- nginx之 nginx虛擬機器配置Nginx虛擬機
- nginx做限流設定Nginx
- 深入 Nginx 之配置篇Nginx
- Nginx專題(1):Nginx之反向代理及配置Nginx
- saltstack之nginx、php的配置NginxPHP
- Nginx篇--解讀nginx配置Nginx
- 配置nginxNginx
- Nginx 配置Nginx
- nginx配置Nginx
- Nginx(六):配置解析之location解析Nginx
- Linux下玩轉nginx系列(七)---nginx如何實現限流功能LinuxNginx
- Docker配置nginxDockerNginx
- nginx常用配置Nginx
- nginx代理配置Nginx
- Nginx Location 配置Nginx
- NGINX基本配置Nginx
- Nginx 配置域名Nginx
- Nginx部署配置Nginx
- Nginx - 最小配置Nginx
- nginx location配置Nginx
- nginx 配置使用Nginx
- nginx的配置Nginx
- thinkphp nginx 配置PHPNginx
- nginx配置404Nginx
- 配置nginx支援Nginx
- 【Nginx】Referer配置Nginx
- laravel學習之nginx配置站點LaravelNginx
- nginx之配置proxy_set_headerNginxHeader
- 【Nginx】Nginx虛擬vhost配置檔案Nginx
- Nginx之(一)Nginx是什麼Nginx
- Java Web之Nginx+Tomcat+Memcached配置JavaWebNginxTomcat
- Nginx安全配置研究Nginx