应用场景

  1. 静态资源(js、css、图片 )
  2. 反向代理
    1. 缓存加速(动态资源),比如社区活跃度排名
    2. 负载均衡(动态扩容、容灾)
  3. API服务

一个请求先经过nginx,再到应用服务器,访问数据库/redis提供基本数据,应用服务要求开发效率高,运行效率就很低,qps、tps、并发受限,所以需要把很多的应用服务组成一个集群,向用户提供高可用性,需要nginx具有反向代理功能

nginx为什么会出现?

  1. 互联网数据量快速增常
  2. (摩尔定律)性能提升
  3. 地效apache
cpu开始向多核cpu发展,当你从8核的cpu升到16核cpu时,你的性能并不能有一倍提升,操作系统和软件(apache)没有做好“多核架构准备”,apache一个连接对应一个进程,一个进程同一时间只能服务于一个连接,当需要面临几百万的连接时,apache没办法开几百个连接,进程间切换的成本太高,nginx正是为了这种场景而生

优点

  • 高并发,高性能(可以轻松达到数千万的并发连接)
  • 扩展性好(模块化设计,丰富生态圈提供了丰富的模块)
  • 高可靠性(可以持续不间断的运行数年)
  • 热部署(可以在不停止nginx的情况下升级)
  • BSD许可证(开源免费)

组成

  1. 二进制可执行文件(由各模块源码编译出的一个文件)
  2. 配置文件
  3. 日志(access.log\error.log)

「一」nginx介绍的更多相关文章

  1. SpringCloud-服务注册中心「Eureka」的介绍与使用

    Eureka 两大组件

  2. 「Flink」RocksDB介绍以及Flink对RocksDB的支持

    RocksDB介绍 RocksDB简介 RocksDB是基于C++语言编写的嵌入式KV存储引擎,它不是一个分布式的DB,而是一个高效.高性能.单点的数据库引擎.它是由Facebook基于Google开 ...

  3. 「PHP」设计模式介绍

    引言   最近再看PHP设计模式相关的一些技术文章,网上有关PHP的设计模式范例很少,这里做一些总结仅供参考,不足之处望提出. 参考资料: <大话设计模式>程杰   什么是设计模式   设 ...

  4. React + Node 单页应用「二」OAuth 2.0 授权认证 & GitHub 授权实践

    关于项目 项目地址 预览地址 记录最近做的一个 demo,前端使用 React,用 React Router 实现前端路由,Koa 2 搭建 API Server, 最后通过 Nginx 做请求转发. ...

  5. 「译」JUnit 5 系列:条件测试

    原文地址:http://blog.codefx.org/libraries/junit-5-conditions/ 原文日期:08, May, 2016 译文首发:Linesh 的博客:「译」JUni ...

  6. 「译」JUnit 5 系列:扩展模型(Extension Model)

    原文地址:http://blog.codefx.org/design/architecture/junit-5-extension-model/ 原文日期:11, Apr, 2016 译文首发:Lin ...

  7. 「JavaScript」四种跨域方式详解

    超详细并且带 Demo 的 JavaScript 跨域指南来了! 本文基于你了解 JavaScript 的同源策略,并且了解使用跨域跨域的理由. 1. JSONP 首先要介绍的跨域方法必然是 JSON ...

  8. 「2014-2-6」TokuMX and MongoDB related materials collection

    简介参考 TokuMX 和 MongoDB 各自的官方站点.       ##  Tokutek 最重要的特点和 marketing word 是所谓 fractal tree indexing te ...

  9. jvm系列(十):如何优化Java GC「译」

    本文由CrowHawk翻译,是Java GC调优的经典佳作. 本文翻译自Sangmin Lee发表在Cubrid上的"Become a Java GC Expert"系列文章的第三 ...

  10. 「JavaScript」JS四种跨域方式详解

    原文地址https://segmentfault.com/a/1190000003642057 超详细并且带 Demo 的 JavaScript 跨域指南来了! 本文基于你了解 JavaScript ...

随机推荐

  1. ng-alain 创建页面

    https://ng-alain.com/cli/generate/zh https://ng-alain.com/docs/new-page/zh 默认情况下,创建模块 trade,创建在目录 sr ...

  2. vmagent如何快速采集和转发Metrics

    vmagent如何快速采集和转发Metrics 本文介绍了vmagent的设计细节,参考自:vmagent-how-it-works VictoriaMetrics agent是一个轻量级工具,用于采 ...

  3. 『玩转Streamlit』--上传下载文件

    在Web应用中,文件的上传下载是交互中不可缺少的功能. 因为在业务功能中,一般不会只有文字的交互,资料或图片的获取和分发是很常见的需求. 比如,文件上传可让用户向服务器提交数据,如上传图片分享生活.提 ...

  4. Qt音视频开发47-文字和图片水印(可存储到MP4中)

    一.前言 近期花了两周时间闭门啃硬骨头,主要就解决三个问题(音视频同步存储和推流.图片水印并将水印信息存储到文件或者推流.rtsp推流),这三个问题困扰了很多年,以至于找遍了网络和翻遍ffplay代码 ...

  5. 基于Redis有序集合实现滑动窗口限流

    滑动窗口算法是一种基于时间窗口的限流算法,它将时间划分为若干个固定大小的窗口,每个窗口内记录了该时间段内的请求次数.通过动态地滑动窗口,可以动态调整限流的速率,以应对不同的流量变化. 整个限流可以概括 ...

  6. 基于源码分析 SHOW GLOBAL STATUS 的实现原理

    问题 在 MySQL 中,查询全局状态变量的方式一般有两种:SHOW GLOBAL STATUS和performance_schema.global_status. 但不知道大家注意到没有,perfo ...

  7. Ubuntu 添加多用户和Samba

    USERNAME="$1" SMBFILE="/etc/samba/smb.conf" if [ $# != 1 ] then echo "使用方: ...

  8. 使用Emgu.CV开发视频播放器简述

    OpenCV是大名鼎鼎的视觉处理库,其对应的c#版本为Emgu.CV.本人采用Emgu.CV开发了一款视频播放软件,可对本地视频文件和rstp在线视频流播放,还具有对视频局部区域放大功能.虽然功能比较 ...

  9. 微服务实战系列(九)-注册中心与网关高可用架构设计-copy

    1. 微服务关系架构图 简要说明: (1)所有应用或者服务要想对外提供服务(包括网关),必须首先到注册中心进行注册. (2)所有访问通过服务网关进行访问,然后由服务网关路由到对应服务中心进行交互访问. ...

  10. springBoot(1)--初步理解

    在没有用SpringBoot之前,我们用spring和springMVC框架,但是你要做很多比如: (1)配置web.xml,加载spring和spring mvc 2)配置数据库连接.配置sprin ...