18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Nginx限流與防爬蟲配置方案

馬哥Linux運(yùn)維 ? 來源:馬哥Linux運(yùn)維 ? 2025-09-09 15:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Nginx限流與防爬蟲配置方案 - 運(yùn)維工程師實(shí)戰(zhàn)指南

前言

在互聯(lián)網(wǎng)業(yè)務(wù)快速發(fā)展的今天,網(wǎng)站面臨著各種流量沖擊和惡意爬蟲的威脅。作為運(yùn)維工程師,我們需要在保證正常用戶訪問的同時(shí),有效防范惡意流量和爬蟲攻擊。本文將深入探討基于Nginx的限流與防爬蟲解決方案,從原理到實(shí)踐,為大家提供一套完整的防護(hù)體系。

一、為什么需要限流與防爬蟲?

業(yè)務(wù)痛點(diǎn)分析

在實(shí)際運(yùn)維工作中,我們經(jīng)常遇到以下問題:

1.流量突增導(dǎo)致服務(wù)器壓力過大:正常業(yè)務(wù)流量突然暴漲或遭受CC攻擊

2.惡意爬蟲消耗資源:爬蟲頻繁請(qǐng)求導(dǎo)致帶寬浪費(fèi)和服務(wù)器負(fù)載過高

3.數(shù)據(jù)泄露風(fēng)險(xiǎn):敏感信息被惡意批量采集

4.用戶體驗(yàn)下降:正常用戶訪問緩慢甚至無法訪問

技術(shù)選型優(yōu)勢(shì)

選擇Nginx作為限流和防爬蟲的核心組件具有以下優(yōu)勢(shì):

?高性能:基于事件驅(qū)動(dòng)模型,單機(jī)可處理數(shù)萬并發(fā)連接

?內(nèi)存占用低:相比Apache等傳統(tǒng)服務(wù)器,資源消耗更少

?模塊化設(shè)計(jì):豐富的第三方模塊支持各種功能擴(kuò)展

?配置靈活:支持復(fù)雜的規(guī)則配置和動(dòng)態(tài)更新

二、Nginx限流核心原理解析

令牌桶算法(Token Bucket)

Nginx的ngx_http_limit_req_module模塊基于令牌桶算法實(shí)現(xiàn)限流。該算法的核心思想是:

1. 系統(tǒng)以恒定速率向桶中添加令牌

2. 請(qǐng)求到來時(shí)需要從桶中獲取令牌

3. 桶滿時(shí)新增的令牌會(huì)溢出

4. 桶空時(shí)請(qǐng)求被拒絕或延遲處理

令牌桶示意圖:
┌─────────────┐
│ Token Bucket │ ←── 恒定速率添加令牌
│ ○ ○ ○ ○ ○  │
│ ○ ○ ○    │
└─────────────┘
   ↓
 用戶請(qǐng)求消耗令牌

漏桶算法(Leaky Bucket)

漏桶算法是另一種流控機(jī)制,特點(diǎn)是輸出速率恒定:

? 請(qǐng)求進(jìn)入桶中排隊(duì)

? 以固定速率處理請(qǐng)求

? 桶滿時(shí)新請(qǐng)求被丟棄

三、基礎(chǔ)限流配置實(shí)戰(zhàn)

3.1 基于IP的請(qǐng)求頻率限制

首先配置最常用的IP限流功能:

http{
 # 定義限流區(qū)域,基于客戶端IP
 limit_req_zone$binary_remote_addrzone=ip_limit:10mrate=10r/s;
 
 # 定義連接數(shù)限制區(qū)域
 limit_conn_zone$binary_remote_addrzone=conn_limit:10m;
 
 server{
   listen80;
   server_nameexample.com;
   
   location/ {
     # 應(yīng)用IP限流:每秒最多10個(gè)請(qǐng)求,突發(fā)允許5個(gè)
     limit_reqzone=ip_limit burst=5nodelay;
     
     # 限制單IP最大連接數(shù)為10
     limit_connconn_limit10;
     
     # 自定義限流響應(yīng)
     limit_req_status429;
     limit_conn_status429;
     
     proxy_passhttp://backend;
    }
   
   # 限流錯(cuò)誤頁面
   error_page429/429.html;
   location= /429.html {
     root/var/www/html;
      internal;
    }
  }
}

配置說明:

?$binary_remote_addr:使用二進(jìn)制格式的客戶端IP,節(jié)省內(nèi)存

?zone=ip_limit:10m:定義10MB內(nèi)存用于存儲(chǔ)限流狀態(tài)

?rate=10r/s:限制每秒10個(gè)請(qǐng)求

?burst=5:允許突發(fā)5個(gè)請(qǐng)求

?nodelay:超出限制立即返回錯(cuò)誤,不排隊(duì)等待

3.2 基于URI的差異化限流

對(duì)不同接口應(yīng)用不同的限流策略:

http{
 # API接口限流
 limit_req_zone$binary_remote_addrzone=api_limit:10mrate=5r/s;
 
 # 靜態(tài)資源限流
 limit_req_zone$binary_remote_addrzone=static_limit:10mrate=50r/s;
 
 # 登錄接口嚴(yán)格限流
 limit_req_zone$binary_remote_addrzone=login_limit:10mrate=1r/s;
 
 server{
   listen80;
   server_nameapi.example.com;
   
   # API接口限流
   location/api/ {
     limit_reqzone=api_limit burst=2nodelay;
     proxy_passhttp://api_backend;
    }
   
   # 靜態(tài)資源限流
   location~* .(jpg|jpeg|png|gif|css|js)${
     limit_reqzone=static_limit burst=20;
     expires1d;
     add_headerCache-Control"public, immutable";
    }
   
   # 登錄接口特殊保護(hù)
   location/api/login {
     limit_reqzone=login_limit burst=1;
     
     # 記錄限流日志
     access_log/var/log/nginx/login_limit.log combined;
     
     proxy_passhttp://auth_backend;
    }
  }
}

3.3 基于地理位置的限流

結(jié)合GeoIP2模塊實(shí)現(xiàn)地理位置限流:

http{
 # 加載GeoIP2數(shù)據(jù)庫
 geoip2/usr/share/GeoIP/GeoLite2-Country.mmdb {
   auto_reload5m;
    $geoip2_metadata_country_buildmetadata build_epoch;
    $geoip2_data_country_codecountry iso_code;
    $geoip2_data_country_namecountry names en;
  }
 
 # 定義不同地區(qū)的限流策略
 map$geoip2_data_country_code$country_limit_rate{
   default10r/s;
   CN20r/s;   # 中國用戶更高限制
   US15r/s;   # 美國用戶
    ~^(RU|UA)$ 5r/s;# 俄羅斯、烏克蘭嚴(yán)格限制
  }
 
 # 基于國家的限流區(qū)域
 limit_req_zone$binary_remote_addrzone=country_limit:10mrate=$country_limit_rate;
 
 server{
   listen80;
   server_nameglobal.example.com;
   
   location/ {
     # 應(yīng)用地理位置限流
     limit_reqzone=country_limit burst=5;
     
     # 添加地理信息到響應(yīng)頭(調(diào)試用)
     add_headerX-Country-Code$geoip2_data_country_code;
     add_headerX-Country-Name$geoip2_data_country_name;
     
     proxy_passhttp://backend;
    }
  }
}

四、高級(jí)防爬蟲策略

4.1 User-Agent檢測與過濾

通過分析User-Agent字段識(shí)別爬蟲:

http{
 # 定義惡意爬蟲User-Agent模式
 map$http_user_agent$is_crawler{
   default0;
   
   # 常見爬蟲標(biāo)識(shí)
    ~*bot1;
    ~*spider1;
    ~*crawler1;
    ~*scraper1;
   
   # 具體爬蟲工具
    ~*python-requests1;
    ~*curl1;
    ~*wget1;
    ~*scrapy1;
    ~*beautifulsoup1;
   
   # 可疑的空或簡短UA
    "" 1;
    ~^.{0,10}$ 1;
  }
 
 # 白名單:允許的爬蟲
 map$http_user_agent$allowed_crawler{
   default0;
    ~*googlebot1;
    ~*bingbot1;
    ~*baiduspider1;
    ~*slurp1; # Yahoo
  }
 
 server{
   listen80;
   server_nameexample.com;
   
   location/ {
     # 阻止惡意爬蟲(除非在白名單中)
     if($is_crawler) {
       set$block_crawler1;
      }
     if($allowed_crawler) {
       set$block_crawler0;
      }
     if($block_crawler) {
       return403;
      }
     
     proxy_passhttp://backend;
    }
   
   # 為搜索引擎爬蟲提供特殊處理
   location/robots.txt {
     root/var/www/html;
     add_headerCache-Control"public, max-age=3600";
    }
  }
}

4.2 基于請(qǐng)求特征的智能識(shí)別

分析請(qǐng)求模式識(shí)別自動(dòng)化工具:

http{
 # 檢測請(qǐng)求頻率異常
 limit_req_zone$binary_remote_addrzone=freq_check:10mrate=30r/s;
 
 # 檢測無Referer請(qǐng)求
 map$http_referer$suspicious_referer{
   default0;
    "" 1; # 無Referer
    "-" 1;# 明確設(shè)置為-
  }
 
 # 檢測異常請(qǐng)求頭組合
 map"$http_accept:$http_accept_language:$http_accept_encoding"$suspicious_headers{
   default0;
    ":::" 1; # 全部為空
    ~^[^:]*:[^:]*:$ 1; # Accept-Encoding為空
  }
 
 server{
   listen80;
   server_nameexample.com;
   
   location/ {
     # 記錄可疑請(qǐng)求
     set$risk_score0;
     
     if($suspicious_referer) {
       set$risk_score"${risk_score}1";
      }
     
     if($suspicious_headers) {
       set$risk_score"${risk_score}1";
      }
     
     # 高風(fēng)險(xiǎn)請(qǐng)求特殊處理
     if($risk_score~ "11"){
       access_log/var/log/nginx/suspicious.log combined;
       limit_reqzone=freq_check burst=1nodelay;
      }
     
     proxy_passhttp://backend;
    }
  }
}

4.3 JavaScript挑戰(zhàn)驗(yàn)證

通過JavaScript挑戰(zhàn)驗(yàn)證真實(shí)用戶:

http{
 # Lua腳本配置(需要安裝lua-resty-template)
 lua_package_path"/usr/local/openresty/lualib/?.lua;;";
 
 # 挑戰(zhàn)驗(yàn)證狀態(tài)存儲(chǔ)
 lua_shared_dictchallenge_cache10m;
 
 server{
   listen80;
   server_namesecure.example.com;
   
   location/challenge {
     content_by_lua_block{
       localtemplate = require"resty.template"
       
        -- 生成隨機(jī)挑戰(zhàn)
        local challenge = ngx.var.request_time .. ngx.var.remote_addr
        local hash = ngx.encode_base64(ngx.hmac_sha1("secret_key", challenge))
       
        -- 挑戰(zhàn)頁面HTML
        local html = [[



  Verification Required
  


  

Verifying your browser...

]] ngx.say(template.compile(html)({challenge= hash})) } } location /verify { content_by_lua_block{ ifngx.var.request_method ~="POST"then ngx.status =405 ngx.say("Method not allowed") return end -- 驗(yàn)證挑戰(zhàn)答案 ngx.req.read_body() local args = ngx.req.get_post_args() if args.answer =="13"then --2^3+5=13 -- 設(shè)置驗(yàn)證通過標(biāo)記 local cache = ngx.shared.challenge_cache cache:set(ngx.var.remote_addr,"verified",3600) --1小時(shí)有效 ngx.redirect("/") else ngx.status =403 ngx.say("Verification failed") end } } location / { access_by_lua_block{ localcache = ngx.shared.challenge_cache local verified = cache:get(ngx.var.remote_addr) if not verified then ngx.redirect("/challenge") end } proxy_pass http://backend; } } }

五、動(dòng)態(tài)防護(hù)與監(jiān)控

5.1 實(shí)時(shí)監(jiān)控與告警

建立完整的監(jiān)控體系:

http{
 # 日志格式定義
 log_formatsecurity_log'$remote_addr-$remote_user[$time_local] '
            '"$request"$status$body_bytes_sent'
            '"$http_referer" "$http_user_agent" '
            '$request_time$upstream_response_time'
            '$geoip2_data_country_code';
 
 # 實(shí)時(shí)統(tǒng)計(jì)
  vhost_traffic_status_zone;
 
 server{
   listen80;
   server_namemonitor.example.com;
   
   location/ {
     access_log/var/log/nginx/security.log security_log;
     
     # 統(tǒng)計(jì)限流事件
     if($limit_req_status="503") {
       access_log/var/log/nginx/rate_limit.log security_log;
      }
     
     proxy_passhttp://backend;
    }
   
   # 監(jiān)控面板
   location/nginx_status {
      vhost_traffic_status_display;
     vhost_traffic_status_display_formathtml;
     
     # 限制訪問
     allow10.0.0.0/8;
     allow172.16.0.0/12;
     allow192.168.0.0/16;
     denyall;
    }
  }
}

5.2 自動(dòng)化黑名單管理

基于日志分析自動(dòng)更新黑名單:

#!/bin/bash
# auto_blacklist.sh - 自動(dòng)黑名單腳本

LOG_FILE="/var/log/nginx/security.log"
BLACKLIST_FILE="/etc/nginx/conf.d/blacklist.conf"
TEMP_FILE="/tmp/nginx_blacklist.tmp"

# 分析日志,提取高頻訪問IP
awk -vdate="$(date '+%d/%b/%Y:%H')"'
$0 ~ date {
  # 提取IP地址
  ip = $1
 
  # 統(tǒng)計(jì)各種可疑行為
  if ($9 == "429" || $9 == "403") suspicious[ip]++
  if ($10 > 10000) large_response[ip]++ # 大響應(yīng)
  if ($11 < 0.001) fast_request[ip]++ ? ?# 請(qǐng)求過快
? ??
? ? total[ip]++
}
END {
? ? for (ip in suspicious) {
? ? ? ? if (suspicious[ip] > 100 || large_response[ip] > 50) {
      print "deny " ip ";"
    }
  }
}
'$LOG_FILE>$TEMP_FILE

# 更新黑名單文件
if[ -s$TEMP_FILE];then
 echo"# Auto-generated blacklist -$(date)">$BLACKLIST_FILE
 cat$TEMP_FILE>>$BLACKLIST_FILE
 
 # 重載Nginx配置
  nginx -t && nginx -s reload
 
 echo"Blacklist updated with$(wc -l < $TEMP_FILE)?entries"
fi

rm?-f?$TEMP_FILE

六、性能優(yōu)化與最佳實(shí)踐

6.1 內(nèi)存使用優(yōu)化

合理配置內(nèi)存使用:

http{
 # 優(yōu)化限流內(nèi)存使用
 limit_req_zone$binary_remote_addrzone=main_limit:50mrate=10r/s;
 
 # 使用更精確的鍵值以節(jié)省內(nèi)存
 map$request_uri$normalized_uri{
    ~^/api/v1/([^/]+) /api/v1/$1;
    ~^/static/ /static;
   default$request_uri;
  }
 
 limit_req_zone"$binary_remote_addr:$normalized_uri"
         zone=uri_limit:30mrate=20r/s;
 
 server{
   # 配置緩存以減少重復(fù)計(jì)算
   location/ {
     # 緩存限流狀態(tài)
     limit_reqzone=main_limit burst=10;
     limit_reqzone=uri_limit burst=5;
     
     proxy_passhttp://backend;
     
     # 緩存后端響應(yīng)
     proxy_cachemy_cache;
     proxy_cache_valid2001m;
     proxy_cache_key"$scheme$proxy_host$normalized_uri";
    }
  }
}

6.2 配置文件模塊化

將配置拆分為可復(fù)用的模塊:

# /etc/nginx/conf.d/rate_limits.conf
# 基礎(chǔ)限流配置
limit_req_zone$binary_remote_addrzone=global_limit:10mrate=10r/s;
limit_req_zone$binary_remote_addrzone=api_limit:10mrate=5r/s;
limit_req_zone$binary_remote_addrzone=auth_limit:10mrate=1r/s;

# /etc/nginx/conf.d/security_maps.conf
# 安全檢測映射
map$http_user_agent$is_malicious_bot{
 include/etc/nginx/maps/malicious_bots.map;
}

map$geoip2_data_country_code$is_blocked_country{
 include/etc/nginx/maps/blocked_countries.map;
}

# /etc/nginx/conf.d/security_headers.conf
# 安全響應(yīng)頭
add_headerX-Frame-Options"SAMEORIGIN"always;
add_headerX-Content-Type-Options"nosniff"always;
add_headerX-XSS-Protection"1; mode=block"always;
add_headerReferrer-Policy"strict-origin-when-cross-origin"always;

七、故障排查與調(diào)試

7.1 常見問題診斷

# 檢查限流配置是否生效
curl -I http://example.com/api/test
# 預(yù)期:正常情況下返回200

# 快速發(fā)送多個(gè)請(qǐng)求測試限流
foriin{1..20};do
  curl -s -o /dev/null -w"%{http_code}
"http://example.com/api/test
done
# 預(yù)期:前幾個(gè)200,后面開始出現(xiàn)429

# 查看限流統(tǒng)計(jì)
nginx -T | grep -A 10 limit_req_zone

7.2 性能監(jiān)控腳本

#!/bin/bash
# nginx_monitor.sh - Nginx性能監(jiān)控

check_nginx_performance() {
 echo"=== Nginx Performance Report ==="
 echo"Time:$(date)"
 echo
 
 # 連接數(shù)統(tǒng)計(jì)
 echo"Active Connections:"
  ss -tln | grep :80 |wc-l
 
 # 限流統(tǒng)計(jì)
 echo-e"
Rate Limiting Status:"
  nginx -T 2>/dev/null | grep -c limit_req_zone
 
 # 錯(cuò)誤率統(tǒng)計(jì)
 echo-e"
Error Rate (Last 100 requests):"
 tail-100 /var/log/nginx/access.log | 
  awk'{print $9}'|sort|uniq-c |sort-nr
 
 # 內(nèi)存使用
 echo-e"
Nginx Memory Usage:"
  ps aux | grep nginx | grep -v grep | 
  awk'{sum+=$6} END {print sum/1024 " MB"}'
}

check_nginx_performance

八、總結(jié)與展望

通過本文的詳細(xì)講解,我們構(gòu)建了一套完整的Nginx限流與防爬蟲解決方案。這套方案具有以下特點(diǎn):

核心優(yōu)勢(shì)

1.多層防護(hù):從基礎(chǔ)限流到高級(jí)防爬蟲,層層遞進(jìn)

2.智能識(shí)別:結(jié)合多種特征進(jìn)行綜合判斷

3.性能優(yōu)化:充分考慮高并發(fā)場景下的性能表現(xiàn)

4.運(yùn)維友好:完善的監(jiān)控和自動(dòng)化管理機(jī)制

實(shí)施建議

1.循序漸進(jìn):先實(shí)施基礎(chǔ)限流,再逐步增加高級(jí)功能

2.灰度發(fā)布:新策略先在小范圍測試,確認(rèn)無誤后全面推廣

3.持續(xù)監(jiān)控:建立完善的監(jiān)控體系,及時(shí)發(fā)現(xiàn)和處理問題

4.定期優(yōu)化:根據(jù)實(shí)際效果調(diào)整參數(shù)和策略

技術(shù)發(fā)展趨勢(shì)

隨著AI和機(jī)器學(xué)習(xí)技術(shù)的發(fā)展,未來的防護(hù)方案將更加智能化:

?行為分析:基于用戶行為模式的智能識(shí)別

?實(shí)時(shí)學(xué)習(xí):自適應(yīng)的防護(hù)策略調(diào)整

?協(xié)同防御:多節(jié)點(diǎn)間的威脅情報(bào)共享

作為運(yùn)維工程師,我們需要不斷學(xué)習(xí)新技術(shù),完善防護(hù)體系,為業(yè)務(wù)的穩(wěn)定運(yùn)行保駕護(hù)航。

本文從基礎(chǔ)原理到高級(jí)應(yīng)用,全面覆蓋了Nginx限流與防爬蟲的各個(gè)方面。希望能夠幫助大家構(gòu)建更安全、更穩(wěn)定的Web服務(wù)架構(gòu)。如果你有任何問題或建議,歡迎在評(píng)論區(qū)交流討論!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 互聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    55

    文章

    11289

    瀏覽量

    108405
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    13

    文章

    10008

    瀏覽量

    90286
  • nginx
    +關(guān)注

    關(guān)注

    0

    文章

    180

    瀏覽量

    12895

原文標(biāo)題:Nginx限流與防爬蟲配置方案 - 運(yùn)維工程師實(shí)戰(zhàn)指南

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    nginx中的sendfile配置說明

    nginx配置sendfile及詳細(xì)說明
    發(fā)表于 05-05 08:08

    Centos7Nginx安裝與配置步驟

    Centos7 Nginx安裝與配置,防火墻開啟端口監(jiān)聽
    發(fā)表于 06-02 12:58

    使用爬蟲代理錯(cuò)誤問題解決方案

    的時(shí)候也會(huì)遇到各種問題。爬蟲代理HTTP狀態(tài)碼問題解決方案:代理使用失敗讓對(duì)方截圖看看代理代碼,代理信息是否提取配置正確。重點(diǎn)注意必須使用代理域名,不能是代理服務(wù)器IP。要求對(duì)方復(fù)制demo,然后加上ua
    發(fā)表于 08-21 17:28

    網(wǎng)絡(luò)爬蟲nodejs爬蟲代理配置

    代理服務(wù)器,proxyUser和proxyPass設(shè)置用戶名和密碼進(jìn)行認(rèn)證。以下是關(guān)于nodejs爬蟲使用axios如何配置爬蟲代理dmeo:const axios = require('axios
    發(fā)表于 09-01 17:23

    nginx錯(cuò)誤頁面配置

    16、nginx 錯(cuò)誤頁面配置nginx錯(cuò)誤頁面包括404 403 500 502 503 504等頁面,只需要在server中增加以下配置即可: error_page404 403
    發(fā)表于 07-26 06:54

    Python爬蟲簡介與軟件配置

    Python爬蟲練習(xí)一、爬蟲簡介1. 介紹2. 軟件配置二、爬取南陽理工OJ題目三、爬取學(xué)校信息通知四、總結(jié)五、參考一、爬蟲簡介1. 介紹網(wǎng)絡(luò)爬蟲
    發(fā)表于 01-11 06:32

    主要學(xué)習(xí)下nginx的安裝配置

    主要學(xué)習(xí)下nginx的安裝配置,以便于后續(xù)學(xué)習(xí)。以下在本地虛擬機(jī)上搭建學(xué)習(xí)。1、檢查系統(tǒng)網(wǎng)絡(luò)是否能連通公網(wǎng):ping www.taobao.com2、確認(rèn)yum源是否配置好,用于下載安裝環(huán)境基礎(chǔ)包
    發(fā)表于 10-19 14:12

    運(yùn)行nginx所需的最低配置

    運(yùn)行nginx所需的最低配置: # /etc/nginx/nginx.confevents {} # event context have to be defined to consi
    的頭像 發(fā)表于 08-23 10:53 ?5818次閱讀

    限流方案常用算法 常用的限流方案

    需要注意的是借助Redis實(shí)現(xiàn)的限流方案可用于分布式系統(tǒng),而guava實(shí)現(xiàn)的限流只能應(yīng)用于單機(jī)環(huán)境。如果你覺得服務(wù)器端限流麻煩,可以在不改任何代碼的情況下直接使用容器
    發(fā)表于 04-08 10:50 ?663次閱讀

    Nginx常用的配置和基本功能講解

    Nginx 已經(jīng)廣泛應(yīng)用于 J-one 和 Jdos 的環(huán)境部署上,本文對(duì) Nginx 的常用的配置和基本功能進(jìn)行講解,適合 Nginx 入門學(xué)習(xí)。
    的頭像 發(fā)表于 05-04 10:25 ?1188次閱讀

    Nginx的特點(diǎn)和作用 Nginx常用命令和核心配置

    更新。性能是 Nginx 最重要的考量,其占用內(nèi)存少、并發(fā)能力強(qiáng)、能支持高達(dá) 5w 個(gè)并發(fā)連接數(shù),最重要的是, Nginx 是免費(fèi)的并可以商業(yè)化,配置使用也比較簡單。
    的頭像 發(fā)表于 09-01 09:53 ?1336次閱讀
    <b class='flag-5'>Nginx</b>的特點(diǎn)和作用 <b class='flag-5'>Nginx</b>常用命令和核心<b class='flag-5'>配置</b>

    Nginx常用配置與命令

    對(duì)于前端來說 Node.js 并不陌生, Nginx 和 Node.js 的很多理念類似, HTTP 服務(wù)器、事件驅(qū)動(dòng)、異步非阻塞等,且 Nginx 的大部分功能使用 Node.js 也可以實(shí)現(xiàn),但 Nginx 和 Node.j
    發(fā)表于 10-18 10:04 ?827次閱讀
    <b class='flag-5'>Nginx</b>常用<b class='flag-5'>配置</b>與命令

    nginx負(fù)載均衡配置介紹

    目錄 nginx負(fù)載均衡 nginx負(fù)載均衡介紹 反向代理與負(fù)載均衡 nginx負(fù)載均衡配置 Keepalived高可用nginx負(fù)載均衡器
    的頭像 發(fā)表于 11-10 13:39 ?1100次閱讀
    <b class='flag-5'>nginx</b>負(fù)載均衡<b class='flag-5'>配置</b>介紹

    Nginx配置終極指南

    更新。性能是 Nginx 最重要的考量,其占用內(nèi)存少、并發(fā)能力強(qiáng)、能支持高達(dá) 5w 個(gè)并發(fā)連接數(shù),最重要的是, Nginx 是免費(fèi)的并可以商業(yè)化,配置使用也比較簡單。
    的頭像 發(fā)表于 06-18 15:56 ?652次閱讀
    <b class='flag-5'>Nginx</b><b class='flag-5'>配置</b>終極指南

    Nginx高并發(fā)優(yōu)化方案

    作為一名在生產(chǎn)環(huán)境中摸爬滾打多年的運(yùn)維工程師,我見過太多因?yàn)?b class='flag-5'>Nginx配置不當(dāng)導(dǎo)致的性能瓶頸。今天分享一套完整的Nginx高并發(fā)優(yōu)化方案,幫助你的系統(tǒng)從10萬QPS突破到百萬級(jí)別。
    的頭像 發(fā)表于 08-13 15:51 ?521次閱讀