Nginx相关部署
- Nginx部署静态文件
- Nginx应用
- Django运行在生产环境时,不再提供静态文件支持,需要将静态文件提交静态服务器
- Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;
- 同时也是一个IMAP、POP3、SMTP代理服务器;
- Nginx可以作为一个HTTP服务器进行网站的发布处理
- 另外Nginx可以作为反向代理进行负载均衡的实现。
- Nginx代理
- 拓展:
- Apache
- 发展时间长,世界第一大服务器,稳定开源跨平台,重量级,不支持高并发的服务器,决定了Apache不能成为高性能web服务.
- Nginx
- 优点:
- 轻量级高并发
- 基于事件驱动架构,支持数以百万级的TCP连接.
- 高度模块化和自由软件许可证使第三方模块层出不穷.
- 跨平台服务器
- 正向代理:
- 正向代理,代理的是客户端,代客户发出请求
- (1)访问原来无法访问的资源,如Google
- (2) 可以做缓存,加速访问资源
- (3)对客户端访问授权,上网进行认证
- (4)代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息
- 反向代理
- 反向代理代理的是服务器,代服务器接受请求
- (1)保证内网的安全,通常将反向代理作为公网访问地址,Web服务器是内网
- (2)负载均衡,通过反向代理服务器来优化网站的负载
- 负载均衡
- 定义:将服务器接收到的请求按照规则分发的过程,成为负载均衡
- 分类
- 硬件负载均衡
- 软件负载均衡
* 利用现有的技术结合主机硬件实现的一种消息队列分发机制
- Nginx支持的负载均衡调度算法
- weight轮询(默认,常用)
- 为每个服务器设置一个权重值,权重数据越大,被分配请求的几率越大,权重值主要根据后端服务器硬件配置调整的.
- ip_hash(常用)
- 每个发起请求的客户端id的hash结果进行匹配,固定的ip总会访问同一个后端服务器,解决了集群部署环境下session共享的问题.
- fair(智能调整调度算法)
- 动态根据后端服务器请求处理到相应的时间进行均衡分配,结合了前两者优点的一种算法,Nginx默认不支持,需要导入.
- url_hash:按照访问的url的hash结果分配请求,每个请求的url会指向固定的某个服务器,可以再Nginx作为静态服务器时,提高缓存效率.