服务器开发之 Nginx 学习笔记
1.Nginx简介
Nginx 是一个高性能的HTTP和反向代理服务器,特点是占内存少,并发能力强。Nginx专为性能优化而开发,性能是器最重要的考量,实现上非常注重效率,能经受住高负载的考验,有报告表明能支持的高达50000个并发连接数。百度,腾讯,网易,淘宝等都在使用Nginx.
特点:
代替 Apache
高性能、低资源消耗、一种异步事件驱动结构,核心采用(epoll 结构)
跨平台
反向代理服务器
实现负载均衡策略
高并发
2.反向代理
将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器的地址,隐藏了真实服务器的地址,同时也隐藏了源服务器的存在特征,极大的提高了安全性。
正向代理、反向代理:
正向代理,代理服务器代理的是客户端,代替客户端去请求数据
反向代理,代理服务器代理的是服务端,隐藏了源服务器的端口,从而保证了安全性。
3.负载均衡
将原来集中于单个服务器的请求分发到多个服务器上的过程也就是我们所称的负载均衡。简而言之,不同的服务器负责处理不同的内容请求,比如电子商城,一台服务器专门提供图片,另一台提供文字,在一台提供视频解说等,从而降低原来一台服务器的压力。
4.动静分离
为了加快网站的解析速度,把动态页面和静态页面有不同的服务器来解析,加快解析速度,降低原来单个服务器的压力。
Nginx 如何处理 HTTP 请求
Nginx 能够处理大量的并发请求,他结合多进程机制和异步非阻塞I/O机制来处理 高并发 请求。
1.每接受到一个请求,主进程就会生成一个子进程,直到连接断开,该子进程就结束了。多进程机制保证每个进程资源分离,不需要加锁等操作,节约资源。
2.采用异步非阻塞I/O:当进行 I/O操作时,内核没有及时的返回,那么该进程也不会阻塞在这里,而是去干其他的事情,等到内核返回结果的时候,进程会得到通知,再去响应处理客户端的请求。
Nginx 的均衡负载策略
- 轮询(默认):每个请求安时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。
- IP 哈希 (ip_hash):每个请求安访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器。
- 最少连接 least_conn : 下一个请求将被分派到活动连接数量最少的服务器。
- SilverLight商业应用程序开发---学习笔记(5)从服务器中获取数据之一
- Nginx学习笔记1-编译Nignx,搭建开发环境
- nginx 学习笔记(9) 配置HTTPS服务器--转载
- nginx 学习笔记(9) 配置HTTPS服务器--转载
- java微信公众号开发学习笔记(一)——vps购买及tomcat服务器搭建
- Nginx学习笔记——搭建Linux +Nginx+PHP+Mariadb(MySql)开发环境
- 【学习笔记】启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级
- web开发-阿里云多用户登录Windows server 2008 R2服务器设置-学习笔记十
- Django学习笔记四:阿里云服务器购买和配置nginx
- MFC开发-学习笔记-象棋(末)实现网络对战,服务器与客户端设计,外网对战
- Asp.net控件开发学习笔记(八)----服务器控件事件
- 微信公众平台开发学习笔记1--验证服务器地址的有效性
- Asp.net控件开发学习笔记(十一)----服务器控件模板
- 【学习笔记】启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级
- nginx学习笔记之三:nginx作为反向代理服务器
- hadoop学习笔记之flume nginx服务器安装
- nginx学习笔记一(开发自己的http模块)
- Asp.net控件开发学习笔记(十)----服务器控件生命周期
- SilverLight商业应用程序开发---学习笔记(6)从服务器中获取数据之二
- 服务器开发学习笔记