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.负载均衡 当一个应用单位时间内访问量激增,服务器的带宽及性能受到影响, 影响大到自身 ...
随机推荐
- 八、word-space与letter-space
1.worde-space是增加或减少单词之间的空白,即字间距.例如: this is a bag 2.letter-space是增加或减少字符间的空白,即字符间距.例如 ...
- vue2.0 生命周期 简析
Vue2.0 生命周期钩子函数: <template> <div id='app'> {{message}} </div> </template> va ...
- Java常用开发组件介绍
1.Lombok的使用 http://www.cnblogs.com/ywqbj/p/5711691.html 2.Guava的使用 http://www.yiibai.com/guava/
- jar 解压war包到指定目录
用 jar -xvf .jar 命令默认解压到当前目录,想要解压到指定目录 需要使用unzip .jar -d 目录 如: unzip pay.war -d /home/zookeeper1/tes ...
- jdk1.8 对数组及arrays类对数组的操作与增强
数组的初始化有两种方式 静态初始化: 初始化时由程序员显示置顶每个数组的初始值,由系统决定数组长度.如: int[] a1 = new int[] {1,2,3,4}; 动态初始化:初始化时由程序员只 ...
- 使用Axure管理团队项目以及分享原型
第一部分:使用Axure管理团队项目 首先,你要有一个Axure账户 呵呵哒.注册地址:http://share.axure.com 发起团队项目 在浏览器登录 Axure share(网速很卡很卡) ...
- SQL Server ->> Database Promgramming Object Security Control(数据库编程对象安全控制)
对于SQL Server内编程对象的安全控制是今天我在思考的问题.在MSDN上找到了几篇有用的文章. 首先微软推荐了三种做法: 1)第一种做法是在SQL Server中对一个应用程序对应创建应用程序角 ...
- Ubuntu下python的第三方module无法在pycharm中导入
换了台笔记本,新安装的requests module无法在pycharm导入: Traceback (most recent call last): File "/home/winsterc ...
- 在Java中字符串是通过引用传递的?
这是一个经典的java问题.在stackoverflow上,许多类似的问题已经被问过了,但是许多回答是错误的或不完整的. 如果你不想深入思考的话,这个问题很简单.如果你想明白的更彻底,那么问题可能容易 ...
- vim c++插件clang_complete
地址 http://www.vim.org/scripts/script.php?script_id=3302 以后应该会用到的,先记下:需要安装clang编译器.