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

Linux之Yum源与Nginx服务篇

1.Yum源知识理论总结概括

Yum源概述

Yum 源 即软件仓库的标识,里面承载着软件包集合

Yum源组成
包含模块

【OS】、【everything】、【EPOL】、【debuginfo】、【source】、【update-source】

  • 【os】:简称operator system 它内部包含操作系统的核心组件(内核、基础库、系统工具),是系统运行的最低依赖包结合
  • 【everything】:包含官方支持的软件包(开发工具、第三方包)
  • 【debuginfo]:存放着调试符号的文件,用于分析程序崩溃及其性能问题
  • 【source]:存放着软件的源码,一般用于二次开发或自定义编译环境
  • 【update-source】:源码更新的模块包
核心参数分析
  • name :仓库自定义所取的名字

  • baseurl : 指定仓库的访问路径,在开源的url路径中, b a s e s e a r c h 代表系统的硬件架构, basesearch代表系统的硬件架构, basesearch代表系统的硬件架构, releasever代表的是系统发行的版本号(一般情况下metalink优先级低于baseurl)

  • enabled: 是否启用仓库

  • gpgcheck:代表签名验证,其中1代表启用 0代表禁用一旦启用了gpgcheck,就一定需要写gpgkey路径

    2.Nginx知识理论总结概括

Nginx简介

Nginx对比与传统Apache服务器其高性能、轻量级能力更强具体可以从以下几个方面进行概述,其优点如下:

- 高并发响应速度快,静态文件并发能力5w/s
- 负载均衡及反向代理能力强
- 系统内存和CPU低占有率
- 可对后端服务进行健康检查
- 可作为缓存代理服务器和邮件代理服务器
代理服务器
正向代理

好比生活中的代购 它实现的技术原理由代理服务器访问你外网地址,但这里的客户端并不是直接找到服务端,通常情况与服务端无法建立直接联系

正向代理通常位于内外网设备,一般用于翻墙和公司内网连接外网
反向代理
类比我们生活中的例子就好比餐馆的客户点餐情况,客户来到餐馆首先是要求前台点餐这里的前台就是反向代理proxy,然后前台确定好点餐信息后将信息给到后厨由后厨完成相关菜品,这里的技术包括`服务隐藏、负载均衡、缓存加速、安全防护`

总的来说做一个以下的概述,参考如图:
在这里插入图片描述

Nginx功能汇总

  • 正向代理与反向代理(正向代理则用于商品的代购、反向代理则用于处理静态请求和动态请求

  • 负载均衡(加权轮循、IP哈希)

    轮训:均分到服务器
    加权轮循:按服务器的性能分配权重
    IP哈希:一个IP固定一个服务
    ```​
  • 缓存加速:减少后端请求压力,提高后端动态网页速度

  • SSL/TLS终止:处理HTTPS解密,减轻后端服务器负载负担

    Nginx工作原理

    Nginx工作主要会依赖各种类型模块,比如我们常说的一些核心模块HTTP模块,EVENT模块,MAIL模块还有些基础模块和三方模块比如HTTP FATCGI,HTTP Proxy,Notice

    那这些模块有什么功能?我们现在主要还是重点来聊聊功能上Nginx三大模块…

Handler模块

Handler概念

也叫"处理器模块",这类模块主要是为了处理Web请求,并输出处理信息和修改Header信息等操作,一般来说Handllers处理器模块只有一个,这个,模块主要存放于location块中


location /static{root/data/www;			//处理static静态资源
}location ~\.php${fastcgi pass 127.0.0.1:9000   //HTTP FastCGI模块}
Handler常用模块
Handler模块作用
ngx_http_static_module返回静态资源模块HTML/CSS/JS
ngx_http_fastcgi_module将请求转发至PHP-FPM等FastCGI后端
ngx_http_autoindex_module自动生成目录
ngx_http_dav_module支持DAV协议(文件的上传和删除)

Filter 模块

Fileter模块概念

也叫“过滤器模块”,这类模块主要用于对处理器请求进行输出,并且也可以修改请求头的信息,

最后由Nginx进行输出。它是针对请求内容进行加工的模块,如果有多个Filter它将按序处理同一请求


location /{gzip on; 		//用gzip压缩过滤add header X custom "example" 	//添加响应头过滤器sub filter "old" "new";	//替换文本过滤
}
Filter常用模块
Filter模块作用
nginx_http_gzip_module对过滤到的Web请求实现gzip压缩操作
nginx_http_headers_module添加或修改响应头数据
nginx_http_sub_module替换响应头中的文本(HTML文本元素)
nginx_http_image_file_module动态图片调整

Proxies模块

Proxies模块概念

也叫“代理器模块”,这类模块主要用的是Nginx的HTTP Upstream模块,通常情况会与后端一些服务

比如FastCGI进行交互,负责的是实现服务代理和负载均衡等功能


location /api{proxy_pass http;
}upstream  backend{Sever  192.168.1.8 weight= 2Server 192.168.1.9;
}
Proxies常用模块
Proxy模块作用
ngx_http_proxy_moduleHTTP反向代理 比如Proxy-pass
ngx_http_fastcgi_modulefastcgi协议代理(PHP-FPM)
ngx_http_uwsgi_moduleuWSGI协议代理(Python Django)
ngx_upstream_module定义后端服务器组,实现负载均衡(轮询、IP哈希

NGINX工作原理总结

由handler作为生产者接收大量请求,然后经过Filter过滤器经过修改响应内容,将其转发至代理服务器proxy,最后再通过代理将请求转发到后端服务器,服务端然后将其页面结果响应给我们前端服务器,也就是我们的浏览器(客户端),然后用户就能看到内容了。

具体工作流程也可参见下图:

在这里插入图片描述

Nginx进程工作原理

流程分析
  • 当Nginx服务器启动之后,默认会产生一个监听端口80,并启动一个master进程,然后这个master进程会生成多个工作进程
  • 当master进程开始工作时,会通过listen中的socket,fork出很多worker进程
  • 此时worker进程会在新连接到来前变成可读状态,从而保证只有一个进程处理该连接,之后再由worker进行在注册listenfd读事件前墙accept_mutex互斥锁,如果抢到了那么此时就会调用accept接收该连接
  • 当每个worker进程在accept这个连接之后,就可以处理请求将其响应个客户端可读状态,从而保证只有一个进程处理该连接,之后再由worker进行在注册listenfd读事件前墙accept_mutex互斥锁,如果抢到了那么此时就会调用accept接收该连接
  • 当每个worker进程在accept这个连接之后,就可以处理请求将其响应个客户端
流程图解

在这里插入图片描述

相关文章:

  • FramePack - 开源 AI 视频生成工具
  • 差分振荡器:支持0.15ps超低抖动的高速时钟核心
  • 基于React的高德地图api教程004:线标记绘制、修改、删除功能实现
  • 低功耗实现方法思路总结
  • 什么是Agentic AI(代理型人工智能)?
  • ESP32简介及相关使用
  • ubuntu服务器版启动卡在start job is running for wait for...to be Configured
  • 浪潮云边协同:赋能云计算变革的强力引擎
  • 鸿道Intewell操作系统:人形机器人底层操作系统
  • SQLPub:一个提供AI助手的免费MySQL数据库服务
  • 十、HQL:排序、联合与 CTE 高级查询
  • Linux515 rsync定时备份
  • 多链互操作性标准解析:构建下一代区块链互联生态
  • 4.6/Q1,GBD数据库最新文章解读
  • Seata源码—3.全局事务注解扫描器的初始化二
  • C语言经典笔试题目分析(持续更新)
  • 单物理机上部署多个TaskManager与调优 Flink 集群
  • Cinema4D 26.014
  • 【语义分割专栏】先导篇:评价指标(PA,CPA,IoU,mIoU,FWIoU,F1)
  • Cursor无法使用C/C++调试的解决办法
  • 日本一季度实际GDP环比下降0.2%
  • 党建评:对违规宴饮等问题要坚决露头就打
  • 联合国第二届运动会闭幕,刘国梁受邀成为“联合国运动会大使”
  • 京东回应外卖系统崩溃:订单暴涨所致,已恢复
  • 马上评|“为偶像正名”的正确做法是什么
  • 日本前卫艺术先驱群展上海:当具体派相遇古树古宅