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

怎么注销自己做的网站帝国网站管理 上一条 下一条 链接 信息id 信息发布时间

怎么注销自己做的网站,帝国网站管理 上一条 下一条 链接 信息id 信息发布时间,网站怎么接入百度地图,wordpress后台地址修改概述 Nginx的系统学习整理的第三篇博客,主要介绍nginx的应用场景和架构基础,以便更好的理解,再生产环境中进行性能调优。 Nginx的三个主要应用场景 1.静态资源服务,通过本地文件系统提供服务 2.反向代理服务,强大的性…

概述

Nginx的系统学习整理的第三篇博客,主要介绍nginx的应用场景和架构基础,以便更好的理解,再生产环境中进行性能调优。

Nginx的三个主要应用场景

在这里插入图片描述

1.静态资源服务,通过本地文件系统提供服务
2.反向代理服务,强大的性能,缓存 和负载均衡服务
3.ApiServer服务 ,比如像php-fpm、tomcat、uwsgi等

运行中的Nginx进程间的关系

Nginx部署以后,我们首先要了解的是Nginx进程间的关系,是怎么做到处理高并发的请求的原理和实现,可以使用pstree命令查看master和worker的关系。

# pstree 命令工具安装
yum -y install psmisc#netstat 命令工具安装:
yum -y install net-tools
[root@0bb2985dbc83 servers]# pstree -ahpu | grep nginx|-nginx,193|   |-nginx,246,nobody|   |-nginx,247,nobody|   |-nginx,248,nobody|   |-nginx,249,nobody|   |-nginx,250,nobody|   |-nginx,251,nobody|   |-nginx,252,nobody|   `-nginx,253,nobody

Nginx是支持单进程(master进程)提供服务的,那么为什么产品环境下要按照master-worker方式配置启动多个进程,这样做主要有两点:

  • 由于master进程不会对用户请求提供服务,主用于管理真正提供服务的worker进程,所以master进程可以是唯一的,它仅专注自己的纯管理工作。
  • 多进程的worker可以充分利用常见的SMP多核架构,从而实现微观上真正实现多核并发处理。

一个worker进程可以同时处理的请求数只受限于内存大小,而且在架构设计上,不同worker进程之间处理并发请求几乎没有同步锁的限制,worker进程通常不会进入睡眠状态,当Nginx上的进程数与CPU的核心数相等时,进程间的切换代价是最小的。

worker_processes 8;

Nginx请求处理流程

Nginx可以搭建静态web服务器,反向代理服务器,对一些限流、限速的方向上是有所不同的,这些都要求我们对Nginx架构有清晰的了解,需要我们从Nginx内部看Nginx是怎样处理请求的。

在这里插入图片描述

当web请求或者tcp请求进入到Nginx上,Nginx内部有三个大的状态机,传输层(Tcp/Udp)状态机、Http状态机,以及处理邮件的Mall状态机,为什么要叫它状态机呢,是因为Nginx中的核心用非阻塞的事件驱动处理引擎,就是我们所说的epoll异步处理引擎以后,通常都需要使用状态机对请求进行正确处理的。

当处理静态资源的时候会有一个问题,当整个内存不足时完全缓存文件信息的时候,AIO会退换成使用线程池处理磁盘的阻塞调用。

对于每一个处理完成的请求会记录到Access访问日记和错误日志里,更多的时候Nginx作为反向代理服务器使用的,可以使用协议传输到后面的服务器,也可以通过应用层的协议,代理到响应的应用服务器

配置文件重载的原理真相

想了解配置文件重载的原理真相,需要先了解Nginx的组成,Nginx一共有四个组成部分:

  • Nginx二进制可执行文件,由各源码编译出的一个文件
  • Nginx.conf配置文件,控制Nginx的行为
  • Access.log访问日志,记录每一条http请求信息
  • Error.log错误日志,定位问题

reload配置文件重载流程

Nginx配置文件重载如图所示,大致可分三步:

在这里插入图片描述

1.更新nginx.conf配置文件,向Master发送SIGHUP信号,或者执行nginx -s reload

2.老配置worker进程再完成已存在时优雅的退出。
3.Nginx始终保持运行中,平滑的更换了配置文件,新来的请求新启动由黄色的worker进程处理。

注意,在新老配置进程交替过程中,新老进程是同时存在的,如果是异常的请求出了问题,客户端长时间没有处理,会导致请求长时间占用在内存中,worker进程就会一直存在,解决这个问题的办法设置,可以设置worker_shutdown_timeout解决。

1.向master进程发送HUP信号(reload命令)
2.master进程校验配置语法是否正确,相当于执行`nginx -t`
3.master打开新的监听端口
4.master进程用新的配置启动新的worker子进程
5.master进程像老worker子进程发送Quit信号
6.老worker进程关闭监听句柄,处理完当前链接后结束进程。

热升级流程

1.将旧Nginx文件换成新的Nginx文件(注意备份)
2.向master进程发送USR2信号
3.master进程修改pid文件名,后缀加.oldbin
4.master进程用新的Nginx文件启动新master进程
5.向老master进程发送QUIT信号,关闭老master
6.回滚:向老master发送HUP,向新master发送QUIT

常说Nginx要优雅的关闭worker进程,Nginx的worker进程可以识别出当前的链接没有正在处理请求,这个时候我们在关闭链接。

Nginx优雅的关闭主要针对的是http请求,对于想tcp、websocket这种请求Nginx也是无能为力的。

http://www.yayakq.cn/news/299116/

相关文章:

  • 新网站建设咨询经典重庆区县论坛
  • 腾讯网静态网站建设互联网公司运营
  • 网站制作建设是做什么盘锦网站建设优化
  • 杭州响应式网站案例前端做网站如何调接口
  • 盐城网站优化推广服务无锡网站关键词推广
  • wordpress二级域名做站群百度导航下载2022最新版官网
  • 从零开始学手机网站开发教程昆明做网站哪家公司好
  • s吗网站虚拟主机企业网站建设开发注意事项
  • 福州网站制作维护提高网站访问量
  • 用php做网站教程扬州网站商城建设价格表
  • 本地网站模板什么网站动物和人做的吗
  • 建设工程施工许可证查询网站阳江人力资源招聘网最新招聘
  • 女装网站建设规划书怎么写阿里云域名注册官网首页
  • 网站怎么申请域名wordpress春节插件
  • 网站信息备案查询网站建设百度知道
  • wordpress制作视频站吉林seo基础知识
  • 站长之家 wordpress 流量统计深圳网站设计公司
  • 做网站市场价格凡科网 小程序
  • 网站简繁切换js给企业做网站用什么程序
  • 企业网站用哪个cms好牛企网络科技有限公司
  • 网站建设juxinghulianwordpress dux5.1
  • 服务器怎样做网站呢wordpress单栏简洁
  • 深圳 网站 设计自己如何制作一个软件
  • 可以自己做漫画的网站营销型网站建设tfx88
  • 大连做网站优化哪家好2019网站seo
  • 中国建设网站下载广州网站建设技术外包
  • 网站托管目的是什么织梦网站logo更改
  • 有模板如何做网站网站开发微信小程序需求量大吗
  • 金融做市场广告挂哪些网站wordpress企业主题购买
  • 购物网站建设源码wordpress jiustore