说说你了解的 Nginx
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
分析&回答
nginx性能数据
- 高并发连接: 官方称单节点支持5万并发连接数实际生产环境能够承受2-3万并发。
- 内存消耗少: 在3万并发连接下开启10个nginx进程仅消耗150M内存 (15M×10=150M)
1. 正向、反向代理
所谓“代理”是指在内网边缘 设置一个硬件/软件转发请求 “正向”还是“反向”的说法取决于转发的是"出站请求"还是"入站请求".
- 正向代理 处理来自客户端的出站请求将其转发到Internet然后将生成的响应返回给客户端。
- 反向代理 处理来自Internet的入站请求将其转发给后端工作程序然后将响应返回给Internet。
- 正向代理和反向代理 在代理的方向上不同但都会代理处理HTTP请求/响应。
- 代理服务器存在的目的
- 堡垒机/隔离内网内网客户端无法访问外网需要设置堡垒机、隐藏内网工作服务器
- 代理服务器附加功能对流量执行操作、使用缓存或压缩来提高性能、防御攻击并过滤信息
2. 负载均衡
负载均衡一般伴随着反向代理 起到了分配流量、透明代理、 增强容错的效果
http {
upstream myapp1 {
server srv1.example.com;
server srv2.example.com;
server srv3.example.com;
}
server {
listen 80;
location / {
proxy_pass http://myapp1;
}
}
}
复制代码
负载均衡策略
- round-robin 顾名思义轮询
- least-connected 下一个请求将发往最小活动链接的服务器
- ip-hash根据客户端的ip地址和哈希函数 决定将请求发往哪个服务器
3. 动静分离
动静分离与现在火热的前后端分离概念火热相关
前端可以自行开发、测试自行使用nginx形成静态资源服务器后端服务仅作为附加资源。
下面的例子表明 静态资源在/usr/share/nginx/html 动态资源路径包含api或swagger。
upstream eap_website {
server eapwebsite;
}
server {
listen 80;
location / { # 静态资源
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri /index.html;
}
location ^~ /api/ { # 动态资源
proxy_pass http://eap_website/api/;
}
location ^~ /swagger/ { # 动态资源
proxy_pass http://eap_website/swagger/;
}
}
喵呜面试助手一站式解决面试问题你可以搜索微信小程序 [喵呜面试助手] 或关注 [喵呜刷题] -> 面试助手 免费刷题。如有好的面试知识或技巧期待您的共享