当前位置: 首页 > news >正文

nginx基础1

1.静态资源服务器
2.反向代理(nginx 代理服务器了)
3.api接口服务
4.权限控制(我的客户端调取) 缓存(缓存到nginx中 不需要读取数据库了)
5.负载均衡
lua nginx层做权限控制
nginx 读取数据库 不需要应用服务器参与
服务器:apache性能差
nginx 高并发 高性能 可扩展性能好 高可靠性 热部署 开源许可证
热更新:覆盖更新 不需要关机重启
不是替换 xxx====>xxx.old
旧的请求处理还用xxx.old  用完之后 删除xxx.old
新的请求处理使用xxx

nginx 是多进程单线程 多个进程 每个进程一个线程
轻量级
多路IO复用
1个master 多个worker cpu的核数一致
master 监控worker的进程运行情况
pm2 多核方式启动node  根据cpu数开进程

IO 多路复用
linux 分配空间 4G内存 为了安全
用户空间 3G
用户没有权利读取1.txt 内核有这个权限读取这个文件
内核空间 1G
linux内核使用 放了很多机密数据
1.txt

进程的上下文切换


同步异步
用户和内核交互的时候 
阻塞非阻塞
顾客下单等 服务员等厨师
轮询 和 回调
就是因为有内核空间 和用户空间的概念  内核分层导致

进程间切换 消耗性能
保存上次观看的记录 干活干到一半需要暂存起来;

文件描述符
从3 开始 
内容拷贝到内核缓存区拿到的内容 拷贝到用户空间中
异步阻塞io io多路复用
顾客不等待  服务员给厨师 服务员等待 多个io服务(顾客) 是一个服务员,
一个服务员给多个厨师下单
select(1号厨师 2号厨师轮询查看记录1024个文件) poll(和select类似 没有数量限制 链表查询) epoll(回调函数的方式)
什么时候适合用轮询 什么时候用epoll
epoll 厨师做饭很慢的情况 用回调
select 后端十分快 每次不落空
进程通信有七种方式 pipe 和消息的方式


 

相关文章:

  • nginx1
  • 承认多元化,保持宽容
  • nginx2
  • 如何编写高质量的代码——来自《代码大全(第2版)》的启示
  • nginx3 gzip等
  • ClickHouse概述
  • godaddy/terminus 健康检查
  • node 中nextjs
  • 利用visual source safe管理代码
  • 【Nest 极速指南】应用篇之 ElasticSearch
  • next 微服务
  • 服务器拉取git代码
  • 专用来回TOO OLD的用的火星帖,今天翻出来又再感叹一下!
  • [技术娱乐]How to make love
  • [Nginx]反向代理Node将3000端口访问转换成80端口
  • [数据结构]链表的实现在PHP中
  • [译] React v16.8: 含有Hooks的版本
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 30秒的PHP代码片段(1)数组 - Array
  • android 一些 utils
  • css属性的继承、初识值、计算值、当前值、应用值
  • Intervention/image 图片处理扩展包的安装和使用
  • js操作时间(持续更新)
  • JS基础之数据类型、对象、原型、原型链、继承
  • js作用域和this的理解
  • Mysql数据库的条件查询语句
  • Redux 中间件分析
  • spring boot 整合mybatis 无法输出sql的问题
  • 如何进阶一名有竞争力的程序员?
  • 说说动画卡顿的解决方案
  • 用Python写一份独特的元宵节祝福
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • #if和#ifdef区别
  • #Lua:Lua调用C++生成的DLL库
  • $().each和$.each的区别
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (第一天)包装对象、作用域、创建对象
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .net打印*三角形
  • .NET文档生成工具ADB使用图文教程
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • [ C++ ] STL priority_queue(优先级队列)使用及其底层模拟实现,容器适配器,deque(双端队列)原理了解
  • [ 手记 ] 关于tomcat开机启动设置问题
  • [ 数据结构 - C++] AVL树原理及实现
  • [ 云计算 | AWS ] AI 编程助手新势力 Amazon CodeWhisperer:优势功能及实用技巧
  • [Android Pro] android 混淆文件project.properties和proguard-project.txt
  • [C#][DevPress]事件委托的使用
  • [C#]C# winform实现imagecaption图像生成描述图文描述生成
  • [C++]——带你学习类和对象
  • [CISCN 2019华东南]Web11
  • [CISCN2019 华北赛区 Day1 Web5]CyberPunk --不会编程的崽
  • [HDU3710]Battle over Cities
  • [i.MX]飞思卡尔IMX6处理器的GPIO-IOMUX_PAD说明