nginx知识总结
nginx知识总结
一、功能
- 负载均衡
- 反向代理
- 静态资源服务器
二、来源
- nginx 俄罗斯第二网站开源项目
- tengine 淘宝团队基于nginx开发的
- 区别:nginx安装之后还得装第三方软件包,tengine将其封装一起
三、正向代理与反向代理
- 正向代理:当你访问某个网站时,不去直接通过客户端访问,而是通过代理服务器进行访问。
进而隐藏自己真正的客户端身份,翻墙就是采用这样的原理。 - 反向代理:当你去访问某个网站,并没有直接放到该网站的业务服务器,而是先访问其中一个代理服务器,由代理服务器进行分配到业务服务器,这样的情况称为反向代理。
四、具体功能
1.反向代理
- 刚刚讲到,nginx就可以当一个代理服务器,后面跟几台业务服务器。nginx起到连接的作用,而后面的应用服务器负责处理业务。
- 这样做的好处是(以Django为例)。用户访问网页可以分为活跃与非活跃,非活跃相当于长连接。试想如果由很多个非活跃链接
业务服务器的话,那么该服务器会在多个链接中无限切换,切换成本很高。而Django的并发量可能只有两千,所以显然
当并发量过高时这样配服务器是不合理的。 - 所以这个时候我们可以借助nginx作为代理服务器,凡是并发很多非活跃的链接直接由nginx处理,而哪些活跃度较高的用户可以分配给业务服务器处理。
2.负载均衡
- nginx的角色相当于是业务服务器的管理员,它要保证每一台服务器上面承载量是均衡的,不能有的服务器负载多,有的几乎没有。要做到雨露均沾,而具体实现的方法则利用到了nginx的负载均衡的四种调度算法。
负载均衡四种调度算法:
- 轮询------(默认循环分配)、也可以设置权重,权重高的先分标配。
- ip_Hash-----根据用户ip进行映射,不同的ip访问不同的服务器。这样做的好处可以重复利用用户每次访问的数据。
- fair-----根据服务器响应快慢的优先分配。
- url_hash----根据url分配,比如图片资源分配到图片服务器。
3.静态资源服务器
- nginx可以当静态资源服务器,即可以把静态页面、图片、JS文件、CSS文件等静态资源放到nginx上(中小型项目建议这么做,可以减少
nginx与业务服务器的来回交互)比如一些网站的首页,做成静态的,不需要每次都访问数据库。
五、几种语言开发的并发情况
- 单台服务器提高并发用C / C++,但是代码量大,开发周期长。
一般网站都用python php java开发,并发没有C / C++高 但是开发快。
六、linux可以用epoll,支持并发数量多活跃度不多的高效性。
七、nginx很重要,一旦挂了可能后面的服务器也会跟着挂,一定要有备用服务器。
八、nginx
url重写是指通过配置conf文件,以让网站的url中达到某种状态时则定向/跳转到某个规则,比如常见的伪静态、301重定向、浏览器定向等。
rewrite
语法
在配置文件的server块中写,如:
server {
rewrite 规则 定向路径 重写类型;
}
- 规则:可以是字符串或者正则来表示想匹配的目标url
- 定向路径:表示匹配到规则后要定向的路径,如果规则里有正则,则可以使用$index来表示正则里的捕获分组
重写类型:
- last:相当于Apache里德(L)标记,表示完成rewrite,浏览器地址栏URL地址不变
- break:本条规则匹配完成后,终止匹配,不再匹配后面的规则,浏览器地址栏URL地址不变
- redirect:返回302临时重定向,浏览器地址不会显示跳转后的URL地址
- permanent:返回301永久重定向,浏览器地址栏会显示跳转后的URL地址
nginx知识总结的更多相关文章
- 前端开发者必备的Nginx知识
摘要: 最常用的Web服务器 -- Nginx 原文:前端开发者必备的Nginx知识 作者:ConardLi Fundebug经授权转载,版权归原作者所有. Nginx在应用程序中的作用 解决跨域 请 ...
- 「查缺补漏」巩固你的Nginx知识体系
Nginx篇 基本介绍 Nginx是一款轻量级的 Web服务器 / 反向代理服务器 / 电子邮件(IMAP/POP3)代理服务器,主要的优点是: 支持高并发连接,尤其是静态界面,官方测试Nginx能够 ...
- 一:Nginx知识整理
Nginx与服务器集群 一:集群 1.什么是集群 集 合在一起 放在一起 群 一堆 很多 服务器架构集群:多台服务器组成的响应大并发,高数据量访问的架构体系. 分布式服务器架构: 特点: 1)成本高 ...
- nginx知识图谱
nginx启动起来后有两个进程,一个是主进程,一个是守护进程
- nginx知识问答
1.请解释一下什么是Nginx? 答:Nginx是一个web服务器和反向代理服务器,用于HTTP.HTTPS.SMTP.POP3和IMAP协议.2.请列举Nginx的一些特性? 答:Nginx服务器的 ...
- nginx 知识
nginx如何实现高并发? 启动nginx服务器后,输入 ps -ef |grep nginx,会发现nginx有一个master进程 和若干个worker进程, 这些worker进程是平等的,都是被 ...
- nginx知识学习
设备: macbook 有用的命令行: sudo nginx -t 测试nginx是否正常 sudo nginx -s reload 平滑重启 配置目录: /usr/local/etc/nginx ...
- Web前端必备-Nginx知识汇总
一.Nginx简介 Nginx是一个高性能.轻量级的Web和反向代理服务器, 其特点是占有内存及资源少.抗并发能力强. Nginx安装简单.配置简洁.启动快速便捷.支持热部署.支持 SSL.拥有高度模 ...
- 前端必须知道的 Nginx 知识
Nginx一直跟我们息息相关,它既可以作为Web 服务器,也可以作为负载均衡服务器,具备高性能.高并发连接等. 1.负载均衡 当一个应用单位时间内访问量激增,服务器的带宽及性能受到影响, 影响大到自身 ...
随机推荐
- 对连接到 Azure 中 Linux VM 时出现的问题进行详细的 SSH 故障排除的步骤
有许多可能的原因会导致 SSH 客户端无法访问 VM 上的 SSH 服务. 如果已经执行了较常规的 SSH 故障排除步骤,则需要进一步排查连接问题. 本文指导用户完成详细的故障排除步骤,以确定 SSH ...
- 微软牛津计划——声纹识别与视频识别API上线啦!
上个月,我们发布了牛津计划机器学习的情感识别API,能够帮助不同平台的开发者轻松添加智能应用,而无需精通人工智能领域.牛津计划仅仅是微软在人工智能领域探索中的一个实例,而我们的期望是实现更加注重个人使 ...
- 【Leetcode】【Medium】Binary Tree Preorder Traversal
Given a binary tree, return the preorder traversal of its nodes' values. For example:Given binary tr ...
- 【Leetcode】【Medium】Find Minimum in Rotated Sorted Array
Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 migh ...
- 深入解析Backbone.js框架的依赖库Underscore.js的作用
这篇文章主要介绍了深入解析Backbone.js框架的依赖库Underscore.js的作用,用过Node.js的朋友对Underscore一定不会陌生:)需要的朋友可以参考下 backbone必须依 ...
- SAP Cloud for Customer Account和individual customer的区别
在SAP Cloud for Customer的Customers工作中心里,有三个视图:Accounts,Contacts和Individual Customers. 这三种主数据的区别是什么?我们 ...
- SNMP协议详解
简单网络管理协议(SNMP)是TCP/IP协议簇的一个应用层协议.在1988年被制定,并被Internet体系结构委员会(IAB)采纳作为一个短期的网络管理解决方案:由于SNMP的简单性,在Inter ...
- 为什么说 Java 程序员必须掌握 Spring Boot ?
原作者https://www.cnblogs.com/ityouknow/p/9175980.html Spring Boot 2.0 的推出又激起了一阵学习 Spring Boot 热,就单从我个人 ...
- SDOI2018R1划水记
SDOI2018 bless all Day -1 一天无所事事……板子也不想打了 旁边的蚝爷还在不停的AC……果然自动AC机不是白叫的 "8848钛金老蚝,一上课就A题,一下课就学习,每2 ...
- [19/04/05-星期五] 多线程_Thread(线程、线条)、基本术语
一.基本概念 多线程是Java语言的重要特性,大量应用于网络编程.服务器端程序的开发,最常见的UI界面底层原理.操作系统底层原理都大量使用了多线程. 我们可以流畅的点击软件或者游戏中的各种按钮,其实, ...