nginx介绍及常用功能
什么是nginx
nginx跟Apache一样,是一个web服务器(网站服务器),通过HTTP协议提供各种网络服务。
Apache:重量级的,不支持高并发的服务器。在Apache上运行数以万计的并发访问,会导致服务器消耗大量内存。操作系统对其进行进程或线程间的切换也消耗了大量的CPU资源,导致HTTP请求的平均响应速度降低。这些都决定了Apache不可能成为高性能WEB服务器
nginx:轻量级高并发服务器
- Nginx使用基于事件驱动架构,使得其可以支持数以百万级别的TCP连接
- 高度的模块化和自由软件许可证是的第三方模块层出不穷(这是个开源的时代啊~)
- Nginx是一个跨平台服务器,可以运行在Linux, FreeBSD, Solaris, AIX, Mac OS, Windows等操作系统上
- 这些优秀的设计带来的极大的稳定性。
nginx的常用功能
参考 https://www.cnblogs.com/wcwnina/p/8728391.html
Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,另外nginx可以作为反向代理实现负载均衡。
功能一:http代理,反向代理
正向代理:浏览器(客户端)主动将请求发送给代理服务器,代理服务器去访问国外的网站,然后将访问到的数据传递给我们!
反向代理:浏览器(客户端)发送请求,nginx服务收到请求后,可以根据不同的正则匹配,采取不同的转发策略,将请求转发给服务器。并且Nginx对返回结果进行错误页跳转,异常判断等。如果被分发的服务器存在异常,他可以将请求重新转发给另外一台服务器,然后自动去除异常服务器。
反向代理实现分布式部署,也就是通过部署多台服务器来解决访问人数限制的问题(分布式集群操作)
功能二:负载均衡
Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。扩展策略,就天马行空,只有你想不到的没有他做不到的啦,你可以参照所有的负载均衡算法,给他一一找出来做下实现。
下图是3种负载均衡的算法:
Ip hash算法,对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题
功能三:web缓存
Nginx可以对不同的文件做不同的缓存处理,配置灵活,并且支持FastCGI_Cache,主要用于对FastCGI的动态程序进行缓存。配合着第三方的ngx_cache_purge,对制定的URL缓存内容可以的进行增删管理。
转自:https://www.cnblogs.com/lixiaoxuan/p/10070859.html
相关文章:

网页制作常见的问题(怎样兼容IE6/IE7/火狐浏览器)
1、IE6双边距问题? 在IE6的浏览器中明明设置的是10px的margin却为什么显示的是20px的margin其实这个Ie6的一个双边距BUG 例如: <style type"text/css"> body {margin:0} div { float:left; margin-left:10px; width:300px; height:300px; border:1p…

Ubuntu系统---安NVIDIA 驱动后 CUDA+cuDNN 安装
Ubuntu系统---安NVIDIA 驱动后 CUDAcuDNN 安装 --------------------------------------------20190726--------------------------------------------------------------------------------------------- 上接《Ubuntu系统---NVIDIA 驱动安装》。预配置环境:Ubunt…

Maya基础入门学习教程
Maya基础入门学习教程 视频:.MKV, 1280x720, 共57节课 时长 4小时25分钟,3GB 语言:英语中文字幕(根据原英文字幕机译更准确)原英文字幕 指导老师:Shane Whittington Shane Whittington 百度一下 云桥网…

java学习总结:3
逻辑运算 1.’!’(非) 2.与(多个条件一起满足) Java中&&和&都是表示与的逻辑运算符,都表示逻辑运输符and,当两边的表达式都为true的时候,整个运算结果才为true,否则为false。 ’&&的短路功能,当…

asp.net httpmodule 访问页面控件 备忘
用到的时候发现还得找代码,存一个例子方便自己和他人修改: using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls;…

Ubuntu下Sublime Text 3解决无法输入中文的方法
2019独角兽企业重金招聘Python工程师标准>>> 环境: Ubuntu14.04搜狗输入法 for LinuxSublime text 3提示:编译请在非root下进行 本经验目前在Ubuntu14.04环境下,已有搜狗输入法 for Linux和Sublime Text 3的情况下安装成功。 保存…

电子书下载:Building Websites with DotNetNuke 5
下载:http://www.ctdisk.com/file/9941471 转载于:https://www.cnblogs.com/MaxWoods/archive/2012/10/10/2719167.html

Java学习总结:4
面向对象 面向对象的程序设计具有封装性、继承性、多态性。 类的定义语法如下: class 类名称{数据类型 属性(变量);...public 返回值的数据类型 方法名称(参数1,参数2...){程序语句;[return 表达式;] } }定义类 class Book {String title;double pric…

在3ds Max中使用V-Ray 5渲染引擎视频教程
在3ds Max中使用V-Ray 5渲染引擎视频教程 MP4 | 视频:h264, 1280x720 | 音频:AAC, 44.1 KHz, 2通道。AAC, 44.1 KHz, 2 Ch. 技能水平。初学者|类型:电子学习|语言:英语中文字幕(根据原英文字幕…

OC实用转换model的工具
OC实用转换model的工具 说明 这是本人写的一个专门用来将json数据直接转换生成Model文件的工具,目的是为了让你从写Model文件的繁琐过程中解脱出来,提升效率以及减少出错的几率,工具的特点如下: 1. 用组合设计模式处理树形数据结构(非线性数据结构) 2. 在调试台中处理生成Model…

后端怎么防止重复提交?(常用的做法)
后端怎么防止重复提交?(常用的做法) 客户端的抖动,快速操作,网络通信或者服务器响应慢,造成服务器重复处理。防止重复提交,除了从前端控制,后台也需要控制。因为前端的限制不能解决…

利用MAC OS X 自带的磁盘工具提取光盘镜像ISO文件
虽说渐渐地Mac笔记本基本告别内置光驱时代了,随着网络的普及,使用到光驱的机会也渐少,但有时又难免需要光驱,比如二货出版社的随书光盘等…我们可以通过USB外置光驱将光盘内容提取为ISO文件保存到电脑里,方便以后可以随…

Java学习总结:5
面向对象 对象数组 引用数据类型也可以定义数组 格式: 1.对象数组的动态初始化 类名称 对象数组名称 new 类名称 [长度];动态初始化默认情况下,数组的每一个元素都是其对应的默认值null。 class Book5{private String title;private double price;…

Maya初学者完整的3D动画大师班视频教程
Maya初学者完整的3D动画大师班视频教程 时间13小时30分 包括课程项目文件 1280X720 MP4 语言:英语中文字幕(根据原英文字幕机译更准确)原英文字幕 教程大小解压后:8.38G Maya初学者。完整的3D动画大师班 百度一下 云桥网络 平台…

jQuery-1.9.1源码分析系列(四) 缓存系统
先前在分析Sizzle的时候分析到Sizzle有自己的缓存机制,点击这里查看。不过Sizzle的缓存只是对内使用的(内部自己存,自己取)。接下来分析jQuery可以对外使用的缓存(可存可取)。 首先需要明白jQuery缓存需要解…

CBA 赛程的笔记 - 北京首钢
2014-11-01 19:35北京首钢103:89广东宏远结束技术统计 发挥不错,打的比较好!2014-11-05 19:35八一双鹿89:100北京首钢结束技术统计 第一节国内球员打的太屎,最后一节国内球员发挥不错!2014-11-07 19:35浙江稠州107:116北京首钢结束…

个人技术生涯的感悟(2)
很多时候,一门门槛很低的编程语言对于初学者的帮助是非常大的,从而决定这个人的技术路线的选择。 在经历过大一下学期对C,和C的迷茫之后,在大二上学期,学校在搞一个网页设计比赛,正好和两个朋友一起参赛。开…

HtmlAgilityPack 处理通配的contains
//选择不包含class属性的节点 var result node.SelectNodes(".//span[not(class)]"); //选择不包含class和id属性的节点 var result node.SelectNodes(".//span[not(class) and not(id)]"); //选择不包含class"expire"的span var result node…

游戏风格化角色创建入门指南视频教程
游戏风格化角色创建入门指南视频教程 时间 33小时 包括项目文件 1920X1080 MP4 语言:英语中文字幕(根据原英文字幕机译更准确)原英文字幕 游戏中的风格化角色创建入门指南 百度一下 云桥网络 平台huo取 教程! 信息。 教程33小…

Java学习总结:6
String类(接上篇) 字符串的拆分 public class Test1_1_2_1 {public static void main(String args[]){String str "hello world";String result[] str.split(" "); //以空格作为间隔for(int x0;x<result.length;x){System.out.print(result[x]"…

java面试常见问题之Hibernate总结
1 Hibernate的检索方式 导航对象图检索(根据已经加载的对象,导航到其他对象。) OID检索(按照对象的OID来检索对象。) HQL检索(使用面向对象的HQL查询语言。) QBC检索(使…

HDU 4267 线段树 离散点区间更新, 自叶子节点至根单点查询
题意: n个数字 下面n个数字表示数列 2个操作 1 [u, v] k add [u,v ]区间 (u点要计算)每隔k个位置,该数字add 2 pos 询问 pos下标的值(下标从1开始) 思路: 因为k很小, 可以直接存 k…

Java学习总结:7
static关键字 一个类的主要组成就是属性和方法(分为构造方法和普通方法两种),而每一个对象都分别拥有各自的属性内容(不同对象的属性保存在不同的堆内存中),如果类中的某个属性希望定义为公共属性(即所有对象都可以使用的属性),则可以在声明…

mybatis 使用resultMap实现数据库的操作
resultType:直接表示返回类型 resultMap:对外部resultMap的引用 二者不能同时使用 创建一个实体类Role和User public class Role {private Integer id;private String roleCode;private String roleName;//省略set、get方法 创建User类(在User中有roleId…

【3DMax教程】三维产品可视化视频教程 3d Products Visualization Course
【3DMax教程】三维产品可视化视频教程 3d Products Visualization Course 三维产品可视化课程 教程大小:5.38G 1280X720 含课程素材文件 你会学到什么 项目简介及其必须包含的内容 蓝图以及如何获得和使用 逐步建模流程 如何制作UV和纹理 用UV投射材料 生成…
Spring MVC 和WebFlux 区别
本节主要对比了WebMvc 和 WebFlux两个Web框架,Spring已经为我们开发做了很大努力了,所以在合适的场景下这种异步框架还是非常可行的。但是还要考虑后期其它异步框架是否能够完善,全链路异步才能发挥异步最大的优势。

Cygwin鸡毛蒜皮
2019独角兽企业重金招聘Python工程师标准>>> Windows命令乱码: cygwin控制台mintty的编码缺省是UTF-8, 右键调整mintty选项[text] 改编码为GBK UNIX路径和Windows路径互转: 使用cygpath工具. 如: #cd cygpath C:\\Windows 安装包管理器apt-cyg: 安装: # svn --fo…

Using unique option prefix myisam-recover instead of myisam-recover-option
[转载]关于mysql error.log报"Using unique option prefix myisam-recover instead of myisam-recover-options ..."转载:http://blog.csdn.net/cloud_xy/article/details/21756601启动时日志中有这个警告的:[Warning] Using unique option pr…

Maya硬表面建模学习教程 Master Hard Surface Modeling in Maya 2020
Maya硬表面建模学习教程 Master Hard Surface Modeling in Maya 2020 流派:电子学习| MP4 |视频:h264,1280720 |音频:aac,48000 Hz 语言:英语 中文字幕(机译)原英文字幕 |大小:33.0 GB | 145节课程| (36h 18m) 你会学到什么 云…

Java学习总结:8
链表 class Node2{ //定义一个节点private String data;private Node2 next; //要保存的下一个节点public Node2(String data){ //每一个Node2对象都必须保存相应的数据this.datadata;}public void setNext(Node2 next){this.nextnext;}public Node2 getNext(){return this.…