本文共 3304 字,大约阅读时间需要 11 分钟。
Nginx 是一款高性能的 Web 服务器和反向代理服务器,支持 HTTP、HTTPS、SMTP、POP3 和 IMAP 协议。它广泛应用于 Web 服务、静态资源托管、反向代理以及负载均衡等场景。
位于客户端与原始服务器之间,客户端请求代理转发至原始服务器,代理与客户端处于同一局域网。
接收网络连接请求,转发至内部服务器,代理与原始服务器处于同一局域网。
nginxnginx -s stop 或 nginx -s quitnginx -s reload 或 service nginx reloadnginx -c /path/to/nginx.confnginx -v-c 选项加载外部配置文件# 启用 gzipgzip off;# 压缩文件大小小于 1KB 的文件gzip_min_length 1k;# 设置压缩级别(1-9)gzip_comp_level 1;# 允许压缩的文件类型gzip_types text/plain application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
nginx-ratelimiting-moduleroot 或 alias 目录proxy_pass 转发fastcgi、proxy、uwsgi 等http { proxy_cache_path /var/cache/nginx/proxy_cache levels=1:2:2 keys_zone=proxycache:20m inactive=120s max_size=1g; upstream mysqlsrvs { ip_hash; server 172.18.99.1:80 weight=2; server 172.18.99.2:80; server 172.18.99.3:80 backup; } server { server_name www.a.com; proxy_cache proxycache; proxy_cache_key $request_uri; proxy_cache_valid 200 302 301 1h; proxy_cache_valid any 1m; location / { proxy_pass http://mysqlsrvs; } }} limit_req_zone 模块(漏桶算法)http { limit_req_zone $binary_remote_addr zone=myLimit:10m rate=5r/s; server { location / { limit_req zone=myLimit; rewrite / http://www.hac.cn permanent; } }}burst 参数控制突发流量limit_conn_zone 模块http { limit_conn_zone $binary_remote_addr zone=perip:10m; limit_conn_zone $server_name zone=perserver:10m; server { location / { limit_conn perip 10; limit_conn perserver 100; } }}geo 和 map 模块geo $limit default 1 { 10.0.0.0/8 0; 192.168.0.0/10 0; 81.56.0.35 0;}map $limit $limit_key { 0 ""; 1 $binary_remote_addr;}http { limit_req_zone $limit_key zone=myRateLimit:10m rate=10r/s;}limit_rate 指令location /flv { flv; limit_rate_after 500m; limit_rate 50k;}通过以上方法,可以根据实际需求合理配置 Nginx 的限流策略,确保服务器的稳定性。
转载地址:http://fyjfk.baihongyu.com/