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知识总结的更多相关文章

  1. 前端开发者必备的Nginx知识

    摘要: 最常用的Web服务器 -- Nginx 原文:前端开发者必备的Nginx知识 作者:ConardLi Fundebug经授权转载,版权归原作者所有. Nginx在应用程序中的作用 解决跨域 请 ...

  2. 「查缺补漏」巩固你的Nginx知识体系

    Nginx篇 基本介绍 Nginx是一款轻量级的 Web服务器 / 反向代理服务器 / 电子邮件(IMAP/POP3)代理服务器,主要的优点是: 支持高并发连接,尤其是静态界面,官方测试Nginx能够 ...

  3. 一:Nginx知识整理

    Nginx与服务器集群 一:集群 1.什么是集群 集 合在一起 放在一起 群 一堆 很多 服务器架构集群:多台服务器组成的响应大并发,高数据量访问的架构体系. 分布式服务器架构: 特点: 1)成本高 ...

  4. nginx知识图谱

    nginx启动起来后有两个进程,一个是主进程,一个是守护进程

  5. nginx知识问答

    1.请解释一下什么是Nginx? 答:Nginx是一个web服务器和反向代理服务器,用于HTTP.HTTPS.SMTP.POP3和IMAP协议.2.请列举Nginx的一些特性? 答:Nginx服务器的 ...

  6. nginx 知识

    nginx如何实现高并发? 启动nginx服务器后,输入 ps -ef |grep nginx,会发现nginx有一个master进程 和若干个worker进程, 这些worker进程是平等的,都是被 ...

  7. nginx知识学习

    设备: macbook 有用的命令行: sudo nginx -t  测试nginx是否正常 sudo nginx -s reload  平滑重启 配置目录: /usr/local/etc/nginx ...

  8. Web前端必备-Nginx知识汇总

    一.Nginx简介 Nginx是一个高性能.轻量级的Web和反向代理服务器, 其特点是占有内存及资源少.抗并发能力强. Nginx安装简单.配置简洁.启动快速便捷.支持热部署.支持 SSL.拥有高度模 ...

  9. 前端必须知道的 Nginx 知识

    Nginx一直跟我们息息相关,它既可以作为Web 服务器,也可以作为负载均衡服务器,具备高性能.高并发连接等. 1.负载均衡 当一个应用单位时间内访问量激增,服务器的带宽及性能受到影响, 影响大到自身 ...

随机推荐

  1. DDMS 使用小结

    DDMS简介 DDMS功能详解 1 Devices面板 2 功能面板 3 LogCat and Console 1.DDMS简介 DDMS的全称是Dalvik Debug Monitor Servic ...

  2. Python pymysql模块学习心得

    PyMySQL包含了一个纯Python的MySQL客户端的库,它的目的是用来替换MySQLdb,并且工作在CPython,PyPy和IronPython. PyMySQL官方地址:https://py ...

  3. SQL点点滴滴_唯一索引设计指南-转载

    唯一索引能够保证索引键中不包含重复的值, 从而使表中的每一行从某种方式上具有唯一性, 只有当唯一性是数据本身的特征时, 指定唯一索引才有意义. 例如, 如果您希望确保 HumanResources.E ...

  4. Hyperledger Fabric 1.0 学习搭建 (三)--- 运行测试e2e-Fabric

    3.1.运行fabric-samples的问题说明 该问题说明能够解决6.1.平台特定使用的二进制文件配置第一步的问题.可以选择继续阅读该说明,或者等参考到6.1小节时再反向阅读本说明,具体在6.1中 ...

  5. c# HttpWebRequest与HttpWebResponse

    [转]c# HttpWebRequest与HttpWebResponse 绝技 如果你想做一些,抓取,或者是自动获取的功能,那么就跟我一起来学习一下Http请求吧. 本文章会对Http请求时的Get和 ...

  6. “三八节”如何做好EDM邮件营销

    阳春三月,乍暖还寒,万物复苏,一年一度的三八节也马上来临了,各路商家都开足马力,掀起了一股美丽的旋风.如今酒香也怕巷子深,要想取得良好的营销效果,就得早早动手,赚足眼球,才会换来节日当天的丰厚回馈.U ...

  7. 事件总线(Event Bus)

    事件总线(Event Bus)知多少 源码路径:Github-EventBus简书同步链接 1. 引言 事件总线这个概念对你来说可能很陌生,但提到观察者(发布-订阅)模式,你也许就很熟悉.事件总线是对 ...

  8. 关于tcp状态及一些延展

    1.常用的三个状态是:ESTABLISHED 表示正在通信,TIME_WAIT 表示主动关闭,CLOSE_WAIT 表示被动关闭. TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断 ...

  9. Linux修改权限命令chmod用法详解

    Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而禁 ...

  10. jQuery 实现改变图片指定区域的颜色

    javascript本身无法改变图片的颜色,不过我们可以通过一些技巧来实现一样的效果. 1.首先我们要知道图片哪些区域需要改变颜色,这里我们可以用执点地图的方法来弄 例1: <img src=& ...