# Nginx 知识点
2021/6/9 7:23:09
本文主要是介绍# Nginx 知识点,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
概念
Nginx
是一个轻量级、高性能的反向代理Web
服务器,可以实现反向代理、负载平衡。
特点
- 跨平台、配置简单、方向代理、高并发连接、处理静态文件好、耗费内存少。
Nginx
内置健康检查功能、如果一个服务器挂了、再发送的请求会提交到其它节点上。
Nginx 处理请求
#nginx进程数 worker_processes 1; events { # 单个进程最大连接数 worker_connections 1024; } http{ server{ # 监听80端口 listen 80; # 域名可以有多个 中间用空格隔开 server_name:127.0.0.1 localhost # 拒绝的Ip deny 127.0.0.2 # 允许的ip allow 127.0.0.1 } # 配置静态资源路径 location /test{ add_header Cache-Control no-store; alias D:/test/index; inde index.html; } # 当拦截到80 端口以moduletest开头的请求,去访问 http://127.0.0.1:8001/moduletest/ location /moduletest{ # 请求转向下面的地址 proxy_pass http://127.0.0.1:8001/moduletest/ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; client_max_body_size 10m; proxy_set_header Request-Url $request_uri; } }
正向代理、反向代理
- 正向代理:发送请求直接请求到目标服务器上面。
- 反向代理:发送的请求经过
Nginx
根据配置的规则去转发到相应的服务器上。
Nginx 优点
- 内存占用少、可实现高并发连接、处理响应快。
- 可实现http服务器、虚拟主机、方向代理、负载均衡。
- Nginx配置简单。
- 可以不暴露正式的服务器IP地址
Nginx缺点
- 动态处理差:nginx处理静态文件好,耗费内存少,但是处理动态页面则很鸡肋,现在一般前端用nginx作为反向代理抗住压力。
Nginx 配置文件 Location作用
- 匹配请求的
Url
匹配成功后进行相关的操作。
匹配符号 | 匹配规则 | 优先级 |
---|---|---|
= | 精确匹配 | 1 |
^~ | 以某个字符串开头 | 2 |
~ | 区分大小写的正则匹配 | 3 |
~* | 不区分大小写的正则匹配 | 4 |
!~ | 区分大小写不匹配的正则 | 5 |
!~* | 不区分大小写不匹配的正则 | 6 |
/ | 通用匹配,任何请求都会匹配到 | 7 |
- 精确匹配
# 匹配根目录 返回400 location =/ { return 400; }
Nginx 限流
- 限制用户请求速度,防止服务器崩掉。
- 正常限制访问频率:限制用户发送的请求
# 定义限流速度,一个用户一分钟一个请求进来,多余的全部漏掉 limit_req_zone $binary_remote_addr zone=one:10m rate=1r/m; #绑定限流 server{ location /test.html { limit_req zone=zone; proxy_pass http://test; } }
- 突发限制访问频率
#定义限流维度,一个用户一分钟一个请求进来,多余的全部漏掉 limit_req_zone $binary_remote_addr zone=one:10m rate=1r/m; #绑定限流维度 server{ location /test.html { # Nginx对于一个用户的请求会立即处理前五个,多余的就慢慢来落,没有其他用户的请求我就处理 你的,有其他的请求的话我Nginx就漏掉不接受你的请求 limit_req zone=zone burst=5 nodelay; proxy_pass http://test; } }
- 限制并发连接数
http { limit_conn_zone $binary_remote_addr zone=myip:10m; limit_conn_zone $server_name zone=myServerName:10m; } server { location / { # 单个IP 同时并发连接数最多只能10个连接 limit_conn myip 10; # 最大并发数只能100个连接; limit_conn myServerName 100; rewrite / http://www.lijie.net permanent; } }
这篇关于# Nginx 知识点的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-17Nginx实用篇:实现负载均衡、限流与动静分离
- 2024-08-21宝塔nginx新增8022端口方法步骤-icode9专业技术文章分享
- 2024-08-21nginx配置,让ws升级为wss访问的方法步骤-icode9专业技术文章分享
- 2024-08-15nginx ws代理配置方法步骤-icode9专业技术文章分享
- 2024-08-14nginx 让访问带有/relid的地址返回404 ,例子 /relid-x-0.36-y-131.html-icode9专业技术文章分享
- 2024-08-14nginx 判断地址有/statics/的路径,指向到/home/html/statics/目录-icode9专业技术文章分享
- 2024-07-24解锁Nginx日志的宝藏:GoAccess——你的实时、交互式Web日志分析神器!
- 2024-03-29fail2ban nginx
- 2024-03-18install nginx proxy manager
- 2024-01-2444从零开始用Rust编写nginx,命令行参数的设计与解析及说明