Linux系统——Nginx小总结

目录

一、影响用户体验的因素

二、网络连接——Apache/Nginx服务请求过程

三、I/O模型——Input/Output模型

1.同步/异步

2.阻塞/非阻塞

3.同步异步/阻塞非阻塞组合

四、Nginx用法


 

一、影响用户体验的因素

  • 客户端硬件配置
  • 客户端网络速率
  • 客户端与服务端距离
  • 服务端网络速率
  • 服务端硬件配置
  • 服务端架构设计
  • 服务端应用程序工作模式
  • 服务端并发数量
  • 服务端响应文件大小及数量
  • 服务端I/O压力

二、网络连接——Apache/Nginx服务请求过程

  • 客户端发起请求 先发送到网卡   
  • 网卡收到的报文复制到内核空间
  • 内核空间再复制到用户空间的应用程序空间
  • nginx 分析得到一个磁盘页面文件
  • 再将需求反馈给内核空间,应为应用程序没有权限从磁盘上直接读取文件,需要依靠内核
  • 内核去磁盘上找到所需要的文件,加载到内核空间
  • 加载后再复制到用户空间
  • 用户空间构建响应报文,交给内核空间,内核空间再复制给网卡,返回给用户
  • 整个过程会来回切换 用户空间,内核空间  那么我们可以再次基础上做优化处理

三、I/O模型——Input/Output模型

1.同步/异步

A程序需要调用B程序的某一个功能,A发送一个请求需要B完成一个任务

  • 同步:B不会主动去通知A是否完成需要A自己去问
  • 异步:B会主动通知A是否完成

2.阻塞/非阻塞

A发送一个请求需要B完成一个任务

  • 阻塞:B在完成A的任务前不能执行其他任务
  • 非阻塞:B在完成A的任务前可以同步进行其他任务

3.同步异步/阻塞非阻塞组合

  • 同步阻塞:烧水壶如果水没烧好前,我的人不能离开
  • 同步非阻塞:烧水壶如果水没烧好前,我可以离开一会儿,需要时不时的回来看水有没有烧开
  • 异步阻塞:烧水壶可以提醒我水烧开了,但是我还是要时不时回来看一下水有没有烧开
  • 异步非阻塞:烧水壶可以提醒我水烧开了,我可以在烧水的同时,可以去做其他的事情

四、Nginx用法

  • nginx -v——查看版本信息
  • nginx -V——查看编译信息
  • nginx -s——发送信号(kill -l查看信号)
  • nginx -t——检查语法
  • nginx -g——使用选项后的配置,不使用配置文件里的内容
  • ps aux|grep nginx
  • systemctl start/stop/status nginx
  • nginx -g "user cxk"
  • nginx -g ’daemon off;‘ 前台运行命令

源码包给主配置文件进行高亮:cp -r /opt/nginx-1.18.0/contrib/vim/*    /usr/share/vim/vimfiles/

发送信号  nginx -s  send signal to a master process: stopquitreopenreload

内容释义
SIGINT,SIGTERM(stop)Shut down quickly(直接停止)
SIGHUP(reload)Reload configuration, start the new worker process with a new configuration, and gracefully shut down old worker processes.(重新加载配置文件)
SIGHQUIT(quit)Shut down gracefully(优雅的退出:有人在访问不会结束进程)
SIGUSR1(reopen)Reopen log files(重新分割日志)
SIGUSR2Upgrade the nginx executable on the fly. (运行中升级)
SIGWINCHShut down worker processes gracefully.(优雅的关闭worker进程,work进程负责处理请求,还有请求不会关闭)

kill  -USR1 `cat /apps/nginx/run/nginx.pid`     重新生成日志文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/704381.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

容器库(12)-std::unordered_multiset

unordered_multiset是以key为元素无序的关联容器,搜索、移除和插入操作是平均常数的时间复杂度。unordered_multiset在内部没有按任何顺序排列,而是放在桶当中的,放进哪个桶是通过计算key的hash值来决定的。和unordered_set不同的是&#xff…

【JS】事件绑定方法自带一个形参e“function(e)”,what is e?

在学习js的时候 我跳过了一部分章节的内容,导致现在学习react的时候很多内容都不知所措,因为这些教程都是建立在它认为你js所有内容都掌握的前提下,当然这是我自身的原因。需要反省。 下面是正题: 我们知道js有很多事件&#…

学习 Python operator 模块的 itemgetter

学习 Python operator 模块的 itemgetter 0. 引言1. itemgetter函数说明1-1. 示例代码1-2. 多级排序 0. 引言 operator模块提供了一系列对操作符的函数化接口,例如:加法、乘法、比较操作等。 itemgetter函数是operator模块中的一个功能,它用…

【一】【SQL】表的增删查改(部分)

表之“增”操作 建表的操作 mysql> create table students(-> id int unsigned primary key auto_increment,-> sn int unsigned unique key,-> name varchar(20) not null,-> qq varchar(32) unique key-> ); Query OK, 0 rows affected (0.03 sec)mysql&g…

v-rep--addon--附加组件

附加组件汉化文档 官网 什么是addon 就是一个lua语言文件; 用户通过编写的lua文件来增加coppeliasim的功能。 addon的作用 通过用户编写的lua语言实现添加coppliasim功能。

Day01:Web应用架构搭建站库分离路由访问配置受限DNS解析

目录 常规的Web应用搭建 三种常规网站搭建模式 程序源码 中间件配置 数据库类型 文件访问路径 总结 章节知识点: 应用架构:Web/APP/云应用/三方服务/负载均衡等 安全产品:CDN/WAF/IDS/IPS/蜜罐/防火墙/杀毒等 渗透命令:文件…

Pytorch添加自定义算子之(1)-安装配置Eigen库

一、安装对应的ubuntu环境 推荐使用Docker FROM nvcr.io/nvidia/pytorch:23.01-py3 RUN pip install tensorboardX RUN pip install pyyaml RUN pip install yacs RUN pip install termcolor RUN pip install opencv-python RUN pip install timm0.6.12 WORKDIR /app COPY . …

Python入门必学:print函数--从基础语法到高级用法

Python入门必学:print函数–从基础语法到高级用法 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 👈 希望得到您…

2024 春招市场行情报告:鸿蒙人才遭“爆抢”

前言 2024年可以说是布道鸿蒙开发行业的最佳时机,华为在千帆启航仪式会中发布会中表示,已有200家头部企业加入原生开发当中,并且一直有高薪抢人的局面,这一信息已经引起业界很大关注。 因此有很多公司开始准备要招聘鸿蒙工程师&…

机器学习YOLO操作全流程​​编

YOLO介绍 Ultralytics YOLOv8,是最新的著名实时目标检测和图像分割模型。它基于深度学习和计算机视觉的最新进展,提供了无与伦比的速度和精度性能。由于其精简的设计,适用于各种应用,并且可以轻松适配不同的硬件平台,从边缘设备到云端API。 探索 YOLOv8 文档,这是一个全…

R语言【BIEN】——BIEN_occurrence_genus():从BIEN数据库下载特定属的观察记录。

Package BIEN version 1.2.6 Description BIEN_occurrence_genus() 从BIEN数据库下载特定属的观察记录。 Usage BIEN_occurrence_genus(genus,cultivated FALSE,new.world NULL,all.taxonomy FALSE,native.status FALSE,natives.only TRUE,observation.type FALSE,poli…

【MySQL】探索表结构、数据类型和基本操作

表、记录、字段 数据库的E-R(entity-relationship,实体-关系)模型中有三个主要概念: 实体集 、 属性 、 关系集 。 一个实体集对应于数据库中的一个表,一个实体则对应于数据库表 中的一行,也称为一条记录。…

【Linux基础】Linux自动化构建工具make/makefile

背景 会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后…

ubuntu 安装jdk8

在Ubuntu上安装Java Development Kit (JDK) 8,可以通过以下两种方法进行: 方法一:通过PPA源安装Oracle JDK 8(不推荐,因为Oracle已停止对JDK 8的公开更新支持) 由于Oracle自2019年起对JDK 8的公共更新仅限…

2/26作业

1.link_stack.c #include "link_stack.h" //申请栈顶指针 top_p creat_top() { top_p top (top_p)malloc(sizeof(top_t)); if(topNULL) { printf("空间申请不成功\n"); return NULL; } top->len 0; top->…

18.openeuler OECA认证模拟题1

单选 1。openEuler 操作系统中,通过什么命令可以查看操作系统的版本信息() B A、uname B、cat /etc/os-release C、cat /etc/.kyinfo D、lscpu 2.系统启动的过程顺序正确的是() A A、BIOS自检-MBR中的引导装载程序启动-Linux内核运行-用户登录 B、BIOS自检-MBR中…

Android基础进阶 - RecyclerView列表加载多类型视图

你是否会经常见到在同一个 RecyclerView 列表中加载多种不同的布局效果?最近写了一篇 ConcatAdapter 相关内容,发现虽然之前一直在使用多类型视图列表,但从未记录过,故重新记录于此 RecyclerView基础 Android进阶之路 - Recycler…

亲密关系中的问题

陈海贤老师会帮你解答亲密关系里的典型问题。 用户丫丫: 我想请教一下老师,如果男朋友因为工作或是生活上的事情遇到了挫折而情绪低落,那么我应该怎么有效地安慰他? 答:你想安慰他,其实这件事对于你男朋友…

leet hot 100-6 三数之和

三数之和 原题链接思路代码 原题链接 leet hot 100-5 15. 三数之和 思路 从前往后定义第一个数字 first 开始遍历整个数组 然后要求 frist和上一个数字不重复否则就是重复组合 从frist往后遍历第二个数字 同样要求第二个数字不能重复 再定义第三个数字从后往前面数 三个数字…

Stable Diffusion 绘画入门教程(webui)-ControlNet(Shuffle)

Shuffle(随机洗牌),这个预处理器会把参考图的颜色打乱搅拌到一起,然后重新组合的方式重新生成一张图,可以想象出来这是一个整体风格控制的处理器。 那么问题来了,官方为啥会设计个这样的处理器呢,主要是给懒人用的&am…