nginx
nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务。Nginx 是由伊戈尔·赛索耶夫为俄罗斯访问量第二的 Rambler.ru 站点(俄文:Рамблер)开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。2011 年 6 月 1 日,nginx 1.0.4 发布。
nginx 简介
- 高并发,大流量:需要面对高并发用户,大流量访问。
- Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持 perl 语法)、Bug 非常少的服务。Nginx 启动特别容易,并且几乎可以做到 7*24 不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。
- Nginx 代码完全用 C 语言从头写成。官方数据测试表明能够支持高达 50,000 个并发连接数的响应。
nginx 特点
- 正向代理、反向代理
- 正向代理 代理客户端
- 反向代理 代理服务器
- 负载均衡
- 轮询 nginx 默认是以该方式作为默认负载方式,所有请求都按照时间顺序分配到不同的服务上,如果服务 Down 掉,可以自动剔除
- 权重 指定每个服务的权重比例,weight 和访问比率成正比,通常用于后端服务机器性能不统一,将性能好的分配权重高来发挥服务器最大性能
- 动静分离
- 在 Web 开发中,通常来说,动态资源其实就是指那些后台资源,而静态资源就是指 HTML,JavaScript,CSS,img 等文件。
- 一般来说,都需要将动态资源和静态资源分开,将静态资源部署在 Nginx 上,当一个请求来的时候,如果是静态资源的请求,就直接到 nginx 配置的静态资源目录下面获取资源,如果是动态资源的请求,nginx 利用反向代理的原理,把请求转发给后台应用去处理,从而实现动静分离。
- 在使用前后端分离之后,可以很大程度的提升静态资源的访问速度,同时在开过程中也可以让前后端开发并行可以有效的提高开发时间,也可以有些的减少联调时间 。
注意
- nginx 配置文件中使用 # 作为注释
- nginx 配置文件中每行必须以
;结尾 - nginx 使用类似于 c 的结构化文本格式,同级必须使用相同的缩进