nginx 新手指南
文章来源:https://nginx.cadn.net.cn/beginners_guide.html
本指南对 nginx 进行了基本的介绍,并描述了一些 可以用它完成的简单任务。 假设 nginx 已经安装在阅读器的机器上。 如果不是,请参阅 安装 nginx 页面。 本指南介绍如何启动和停止 nginx,并重新加载其 configuration,解释了结构 的配置文件中,介绍如何设置 nginx 要提供静态内容,如何将 nginx 配置为代理 服务器,以及如何将其与 FastCGI 应用程序连接。
nginx 有一个主进程和几个 worker 进程。 主进程的主要目的是读取和评估配置, 并维护工作进程。 工作进程对请求进行实际处理。 nginx 采用基于事件的模型和依赖于作系统的机制来高效地 在工作进程之间分发请求。 worker 进程的数量在配置文件中定义, 可以针对给定配置进行修复,也可以自动调整为 可用 CPU 内核数(请参阅worker_processes)。
nginx 及其模块的工作方式在配置文件中确定。 默认情况下,配置文件的命名和位置位于目录 、 、 或 中。nginx.conf
/usr/local/nginx/conf
/etc/nginx
/usr/local/etc/nginx
启动、停止和重新加载配置
要启动 nginx,请运行可执行文件。 nginx 启动后,可以通过调用可执行文件来控制它 替换为参数。 使用以下语法:-s
nginx -s signal
其中 signal 可以是以下值之一:
stop
— 快速关机quit
— 优雅关闭reload
— 重新加载配置文件reopen
— 重新打开日志文件
例如,要停止 nginx 进程并等待 worker 进程 要完成对当前请求的处理,可以执行以下命令:
nginx -s quit
此命令应在 启动 nginx。
在配置文件中所做的更改 ,直到重新加载配置的命令为 发送到 nginx 或重新启动。 要重新加载配置,请执行:
nginx -s reload
一旦主进程收到重新加载配置的信号, 它检查语法有效性 并尝试应用提供的配置 在其中。 如果成功,则主进程将启动新的工作进程 并向旧的工作进程发送消息,请求它们 关闭。 否则,主进程将回滚更改,并且 继续使用旧配置。 旧的工作进程,接收关闭命令, 停止接受新连接并继续为当前请求提供服务,直到 所有此类请求都将得到处理。 之后,旧的工作进程退出。
在 Unix 工具的帮助下,也可以向 nginx 进程发送信号 比如 Utility 。 在这种情况下,信号将直接发送到具有给定进程 ID 的进程。 默认情况下,nginx 主进程的进程 ID 会写入目录 或 中的 。 例如,如果主进程 ID 为 1628,则发送 QUIT 信号 导致 nginx 正常关闭,请执行:kill
nginx.pid
/usr/local/nginx/logs
/var/run
kill -s QUIT 1628
要获取所有正在运行的 nginx 进程的列表,可以使用该实用程序,例如,按以下方式:ps
ps -ax | grep nginx
有关向 nginx 发送信号的更多信息,请参阅控制 nginx。
配置文件的结构
nginx 由模块组成,这些模块由指定的指令控制 在配置文件中。 指令分为 simple directives 和 block directives。 简单指令由用空格分隔的 name 和 parameters 组成 ,以分号 () 结尾。 block 指令的结构与 simple 指令相同,但 它不是分号,而是以一组附加指令结尾 用大括号 ( 和 ) 括起来。 如果 block 指令可以在大括号内有其他指令, 它称为上下文(例如:事件、HTTP、服务器、 和位置)。;
{
}
放置在配置文件外部的指令 的 S 都被视为位于主上下文中。 和 指令 驻留在上下文中, 中 和 中。events
http
main
server
http
location
server
标志后面的行的其余部分被视为注释。#
提供静态内容
一个重要的 Web 服务器任务正在服务 文件(例如图像或静态 HTML 页面)。 您将实现一个示例,其中,根据请求, 文件将从不同的本地目录提供:(可能包含 HTML 文件)和 (包含图像)。 这将需要编辑配置文件并在 http 块中设置一个具有两个 location 块的 server 块。/data/www
/data/images
首先,创建目录并将包含任何文本内容的文件放入其中,然后 创建目录并放置一些 图片。/data/www
index.html
/data/images
接下来,打开配置文件。 默认配置文件已经包含几个 该块,大部分被注释掉了。 现在注释掉所有此类块并启动一个新块:server
server
http {server {}
}
通常,配置文件可能包含几个块,这些块由端口区分 他们听 和服务器名称。 一旦 nginx 决定哪个处理请求, 它根据块内定义的指令的参数测试请求标头中指定的 URI。server
server
location
server
将以下数据块添加到数据块中:location
server
location / {root /data/www;
}
此块指定 “” 前缀与请求中的 URI 进行比较。 对于匹配的请求,URI 将被添加到 root 指令中指定的路径,即 to 、 以在本地文件系统上形成所请求文件的路径。 如果有多个匹配的块 nginx 选择前缀最长的那个。 上面的块提供了最短的 前缀,长度为 1, 因此,只有当所有其他区块都无法提供匹配时,才会使用这个区块。location
/
/data/www
location
location
location
接下来,添加第二个块:location
location /images/ {root /data;
}
它将匹配以 ( 开头的请求也匹配此类请求, 但前缀较短)。/images/
location /
块的最终配置应 如下所示:server
server {location / {root /data/www;}location /images/ {root /data;}
}
这已经是侦听 在标准端口 80 上,并且可以在本地计算机上的 上访问 。 响应 URI 以 开头的请求,则 服务器将从该目录发送文件。 例如,为了响应请求,nginx 将 发送文件。 如果此类文件不存在,nginx 将发送响应 指示 404 错误。 URI 开头不为 的请求将是 映射到目录。 例如,为了响应请求,nginx 将 发送文件。http://localhost/
/images/
/data/images
http://localhost/images/example.png
/data/images/example.png
/images/
/data/www
http://localhost/some/example.html
/data/www/some/example.html
要应用新配置,请启动 nginx(如果尚未启动)或 将信号发送到 nginx 的主进程, 通过执行:reload
nginx -s reload
如果某些事情没有按预期工作,您可以尝试找出 目录中 和 文件 或 中的原因。access.log
error.log
/usr/local/nginx/logs
/var/log/nginx
设置 Simple Proxy Server
nginx 的常见用途之一是将其设置为代理服务器,这 表示接收请求并将其传递给代理服务器的服务器, 从中检索响应,并将其发送到客户端。
我们将配置一个基本的代理服务器,它为 包含本地目录中的文件的映像,并将所有其他请求发送到 代理服务器。 在此示例中,两个服务器都将在单个 nginx 实例上定义。
首先,通过在 nginx 的配置文件中再添加一个块来定义代理服务器,内容如下:server
server {listen 8080;root /data/up1;location / {}
}
这将是一个侦听端口 8080 的简单服务器 (以前,尚未指定该指令 由于使用了标准端口 80)和映射 对本地目录的所有请求 文件系统。 创建此目录并将文件放入其中。 请注意,该指令位于 context. 当为服务请求选择的块没有 include 它自己的指令。listen
/data/up1
index.html
root
server
root
location
root
接下来,使用上一节中的服务器配置 并对其进行修改以使其成为代理服务器配置。 在第一个块中,放置 proxy_pass 指令,并指定代理服务器的协议、名称和端口 在参数中(在我们的例子中,它是):location
http://localhost:8080
server {location / {proxy_pass http://localhost:8080;}location /images/ {root /data;}
}
我们将修改第二个块,它目前将带有前缀的请求映射到目录 使其与具有典型文件扩展名的图像请求匹配。 修改后的块如下所示:location
/images/
/data/images
location
location ~ \.(gif|jpg|png)$ {root /data/images;
}
该参数是一个正则表达式,匹配所有以 URI 结尾的 URI 带 、 或 . 正则表达式前面应有 。 相应的请求将映射到目录。.gif
.jpg
.png
~
/data/images
当 nginx 选择一个区块来提供请求时 它首先检查指定前缀的位置指令,记住最长的前缀,然后检查正则表达式。 如果存在与正则表达式的匹配项,nginx 会选择这个,否则,它会选择之前记住的那个。location
location
location
代理服务器的最终配置将如下所示:
server {location / {proxy_pass http://localhost:8080/;}location ~ \.(gif|jpg|png)$ {root /data/images;}
}
此服务器将过滤以 , 或 结尾的请求,并将其映射到目录(通过将 URI 添加到指令的参数)并传递所有其他请求 到上面配置的代理服务器。.gif
.jpg
.png
/data/images
root
要应用新配置,请将信号发送到 nginx 中,如前面部分所述。reload
还有更多指令可用于进一步配置 proxy 连接。
设置 FastCGI 代理
nginx 可用于将请求路由到运行 使用各种框架和编程语言构建的应用程序 比如 PHP。
与 FastCGI 服务器一起使用的最基本的 nginx 配置 包括使用 fastcgi_pass 指令而不是指令, 以及 fastcgi_param 指令来设置传递给 FastCGI 服务器的参数。 假设 FastCGI 服务器可在 上访问 。 以上一节中的 proxy 配置为基础, 将 Directive 替换为 Directive,并将参数更改为 . 在 PHP 中,该参数用于 确定脚本名称,参数用于传递请求参数。 生成的配置将为:proxy_pass
localhost:9000
proxy_pass
fastcgi_pass
localhost:9000
SCRIPT_FILENAME
QUERY_STRING
server {location / {fastcgi_pass localhost:9000;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param QUERY_STRING $query_string;}location ~ \.(gif|jpg|png)$ {root /data/images;}
}
这将设置一个服务器,该服务器将路由除 向通过 FastCGI 协议运行的代理服务器请求静态图像。localhost:9000
相关文章:
nginx 新手指南
文章来源:https://nginx.cadn.net.cn/beginners_guide.html 本指南对 nginx 进行了基本的介绍,并描述了一些 可以用它完成的简单任务。 假设 nginx 已经安装在阅读器的机器上。 如果不是,请参阅 安装 nginx 页面。 本指南介绍如何启动和停止…...
7-4 西安距离
小明来到了古都西安,想去参观大唐西市! 西安的道路可以看做是与x轴或y轴垂直的直线,小明位于(a,b),而目的地位于(c,d),问最少几步可以到达。 输入格式: 一行中四个整数,a,b,c,d,表示坐标为(a…...
VScode+Latex (Recipe terminated with fatal error: spawn xelatex ENOENT)
使用VSCode编辑出现Recipe terminated with fatal error: spawn xelatex ENOENT问题咋办? 很好解决,大概率的原因是因为latex没有添加到系统环境变量中,所有设置的编译工具没有办法找到才出现的这种情况。 解决方法: winR 然后输…...
使用 Elastic Cloud Hosted 优化长期数据保留:确保政府合规性和效率
作者:来自 Elastic Jennie Davidowitz 在数字时代,州和地方政府越来越多地承担着管理大量数据的任务,同时确保遵守严格的监管要求。这些法规可能因司法管辖区而异,通常要求将数据保留较长时间 —— 有时从一年到七年不等。遵守刑事…...
51单片机 02 独立按键
一、独立按键控制LED亮灭 轻触按键:相当于是一种电子开关,按下时开关接通,松开时开关断开,实现原理是通过轻触按键内部的金属弹片受力弹动来实现接通和断开。 #include <STC89C5xRC.H> void main() { // P20xFE;while(1){…...
海外问卷调查渠道查,具体运营的秘密
相信只要持之以恒并逐渐掌握技巧,每一位调查人在踏上征徐之时都会非常顺利的。并在日后的职业生涯中拥有捉刀厮杀的基本技能!本文会告诉你如何做好一个优秀的海外问卷调查人。 在市场经济高速发展的今天,众多的企业为了自身的生存和发展而在…...
Vue.js 的介绍与组件开发初步
Vue.js 的介绍与组件开发初步 Vue.js 的介绍与组件开发初步引言第一部分:Vue.js 基础入门1.1 什么是 Vue.js?1.2 搭建 Vue.js 开发环境安装 Node.js 和 npm安装 Vue CLI创建新项目运行示例 1.3 第一个 Vue.js 示例 第二部分:Vue.js 组件开发基…...
Shadow DOM举例
这东西具有隔离效果,对于一些插件需要append一些div倒是不错的选择 <!DOCTYPE html> <html lang"zh-CN"> <head> <meta charset"utf-8"> <title>演示例子</title> </head> <body> <style&g…...
kamailio-Core 说明书 版本:Kamailio SIP Server v6.0.x(稳定版)
Core 说明书 版本:Kamailio SIP Server v6.0.x(稳定版) 概述 本教程收集了 Kamailio 导出的函数和参数 core 添加到配置文件中。 注意:此页面上的参数不按字母顺序排列。 结构 kamailio.cfg 的结构可以看作是三个部分ÿ…...
PHP XML操作指南
PHP XML操作指南 引言 随着互联网的快速发展,数据交换和共享变得越来越重要。XML(可扩展标记语言)作为一种灵活的标记语言,被广泛应用于各种数据交换场景。PHP作为一种流行的服务器端脚本语言,具有强大的XML处理能力…...
一文了解DeepSeek
1. DeepSeek 的起源 创立时间:DeepSeek 于 2023 年由中国的梁文锋创立。 V3 模型训练成本:最终训练成本为 600 万美元。 开源:DeepSeek 提供开源版本。 流行度:DeepSeek R1 模型成为 Apple 应用商店中下载量最高的应用。 2. …...
三角形的最大周长(976)
976. 三角形的最大周长 - 力扣(LeetCode) 可以一起总结的题目:三数之和(15)-CSDN博客 官方解法: class Solution { public://官方解法int largestPerimeter(vector<int>& nums) {sort(nums.be…...
10:预处理
预处理 1、宏替换2、头文件包含3、条件编译4、typedef和#define的区别5、#define中的注意点5.1、使用do....while(0)5.2、#和##的含义 C语言编译器在编译程序之前,会先使用预处理器(预处理器)处理代码,代码经过预处理之后再送入编译器进行编译。预处理器…...
一文讲解HashMap线程安全相关问题(上)
HashMap不是线程安全的,主要有以下几个问题: ①、多线程下扩容会死循环。JDK1.7 中的 HashMap 使用的是头插法插入元素,在多线程的环境下,扩容的时候就有可能导致出现环形链表,造成死循环。 JDK 8 时已经修复了这个问…...
C++泛型编程指南04-(对默认调用参数的类型推断)
文章目录 问题描述解决方案示例代码 关键点解释进一步改进:结合概念约束 你提到的情况确实是一个常见的问题:在C中,类型推断不适用于默认调用参数。这意味着如果你希望函数模板能够通过默认参数来实例化,你需要为模板参数提供一个…...
Python爬虫:1药城店铺爬虫(完整代码)
⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者:秋无之地 🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据…...
浅谈知识蒸馏技术
最近爆火的DeepSeek 技术,将知识蒸馏技术运用推到我们面前。今天就简单介绍一下知识蒸馏技术并附上python示例代码。 知识蒸馏(Knowledge Distillation)是一种模型压缩技术,它的核心思想是将一个大型的、复杂的教师模型࿰…...
【人工智能】使用Python和Hugging Face构建情感分析应用:从模型训练到Web部署
《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 情感分析是自然语言处理(NLP)中的重要任务,它通过分析文本来判断情绪或观点的倾向性。近年来,预训练语言模型如BERT、GPT等在情感分析任…...
【R语言】函数
一、函数格式 如下所示: hello:函数名;function:定义的R对象是函数而不是其它变量;():函数的输入参数,可以为空,也可以包含参数;{}:函数体,如果…...
python leetcode 笔记
只为记录一些python相关的特殊写法 无穷大,无穷小,NAN float(inf), float(-inf), float(nan) 判断字符的类型 isdigit(x) isspace(x) 字符串拼接 /.join([a,b,c]) # a/b/c 格式转换,字符转整形 ord(a) # 97 chr(97) # a 进制转…...
基于SpringBoot的青年公寓服务平台的设计与实现(源码+SQL脚本+LW+部署讲解等)
专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…...
深入剖析 HTML5 新特性:语义化标签和表单控件完全指南
系列文章目录 01-从零开始学 HTML:构建网页的基本框架与技巧 02-HTML常见文本标签解析:从基础到进阶的全面指南 03-HTML从入门到精通:链接与图像标签全解析 04-HTML 列表标签全解析:无序与有序列表的深度应用 05-HTML表格标签全面…...
kamailio的kamctl的使用
kamctl 是 Kamailio SIP 服务器的管理工具,用于执行各种管理任务,如启动、停止、重启 Kamailio 进程,管理用户、ACL、路由、信任的 IP 地址等。以下是对 kamctl 命令的解释及举例说明: 1. 启动、停止、重启 Kamailio start: 启动…...
[创业之路-270]:《向流程设计要效率》-2-企业流程架构模式 POS架构(规划、业务运营、支撑)、OES架构(业务运营、使能、支撑)
目录 一、POS架构 二、OES架构 三、POS架构与OES架构的差异 四、各自的典型示例 POS架构典型示例 OES架构典型示例 示例分析 五、各自的典型企业 POS架构典型企业 OES架构典型企业 分析 六、各自典型的流程 POS架构的典型流程 OES架构的典型流程 企业流程架构模式…...
【leetcode100】路径总和Ⅲ
1、题目描述 给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。 路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点…...
用结构加法3ax+1预测第4点的分布
有1个点在19*19的平面上在某种力的作用下运动,轨迹为 共移动了90步,按照(0,1,2,3),(1,2,3,4),…,&…...
CTF-web: Python YAML反序列化利用
PyYAML存在以下几个特殊标签,如果这些标签被不安全的解析,会造成解析漏洞 从 PyYaml 版本 6.0 开始,load 的默认加载器已切换到 SafeLoader,以降低远程代码执行的风险。更新后易受攻击的是 yaml.unsafe_load 和 yaml.load(input, Loaderyaml.UnsafeLoade…...
JDK-1.8.0_432安装(CentOS7)
目录 1、卸载系统自带JDK 2、下载安装包并解压 3、赋予可执行权限 4、设置环境变量 5、刷新环境变量 6、查看JDK版本 1、卸载系统自带JDK # 查询出自带的jdk rpm -qa | grep jdk rpm -qa | grep java # 将上述命令列出的包依次删除 rpm -e --nodeps xxxxxxx 2、下载…...
OpenGL学习笔记(五):Textures 纹理
文章目录 纹理坐标纹理环绕方式纹理过滤——处理纹理分辨率低的情况多级渐远纹理Mipmap——处理纹理分辨率高的情况加载与创建纹理 ( <stb_image.h> )生成纹理应用纹理纹理单元练习1练习2练习3练习4 通过上一篇着色部分的学习,我们可以…...
【Pytorch和Keras】使用transformer库进行图像分类
目录 一、环境准备二、基于Pytorch的预训练模型1、准备数据集2、加载预训练模型3、 使用pytorch进行模型构建 三、基于keras的预训练模型四、模型测试五、参考 现在大多数的模型都会上传到huggface平台进行统一的管理,transformer库能关联到huggface中对应的模型&am…...
2025年Android开发趋势全景解读
文章目录 一、界面开发:从"手写代码"到"智能拼装"1.1 Jetpack Compose实战进化1.2 淘汰XML布局的三大信号 二、AI融合开发:无需炼丹的普惠智能2.1 设备端AI三大杀手级应用2.2 成本对比:设备端VS云端AI 三、跨平台演进&am…...
Python NumPy(12):NumPy 字节交换、NumPy 副本和视图、NumPy 矩阵库(Matrix)
1 NumPy 字节交换 在几乎所有的机器上,多字节对象都被存储为连续的字节序列。字节顺序,是跨越多字节的程序对象的存储规则。 大端模式:指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的…...
【Vaadin flow 实战】第5讲-使用常用UI组件绘制页面元素
vaadin flow官方提供的UI组件文档地址是 https://vaadin.com/docs/latest/components这里,我简单实战了官方提供的一些免费的UI组件,使用案例如下: Accordion 手风琴 Accordion 手风琴效果组件 Accordion 手风琴-测试案例代码 Slf4j PageT…...
第三篇:模型压缩与量化技术——DeepSeek如何在边缘侧突破“小而强”的算力困局
——从算法到芯片的全栈式优化实践 随着AI应用向移动终端与物联网设备渗透,模型轻量化成为行业核心挑战。DeepSeek通过自研的“算法-编译-硬件”协同优化体系,在保持模型性能的前提下,实现参数量与能耗的指数级压缩。本文从技术原理、工程实…...
搜索与图论复习2最短路
单源最短路---所有边权是正数(Dijkstra算法O(n^2)--稠密图(邻接矩阵)和堆优化的Dijkstra算法O(mlogn)--稀疏图(邻接表)) 或存在负边权(Bellman-ford贝尔曼福特算法O(nm)和SPFA一般O(m) 最坏O(nm) ) 多源最短路---Floyd算法O(n^3) 一、迪杰斯特拉算法(Dijkstra):1…...
redis集群理论详解
一. Redis集群发展历程 本片文章只介绍集群理论知识,不包含Redis集群搭建教程 教程文章请点击docker搭建redis集群(三主三从) 阶段一:单机版Redis 优点: 简单:易于部署和使用,适合小型项目或初期…...
本地缓存~
前言 Caffeine是使用Java8对Guava缓存的重写版本,在Spring Boot 2.0中取而代之,基于LRU算法实现,支持多种缓存过期策略。 以下摘抄于https://github.com/ben-manes/caffeine/wiki/Benchmarks-zh-CN 基准测试通过使用Java microbenchmark ha…...
SpringBoot 整合 SpringMVC:SpringMVC的注解管理
分类: 中央转发器(DispatcherServlet)控制器视图解析器静态资源访问消息转化器格式化静态资源管理 中央转发器: 中央转发器被 SpringBoot 自动接管,不需要我们在 web.xml 中配置: <servlet><servlet-name>chapter2&l…...
YOLO11/ultralytics:环境搭建
前言 人工智能物体识别行业应该已经饱和了吧?或许现在并不是一个好的入行时候。 最近看到了各种各样相关的扩展应用,为了理解它,我不得不去尝试了解一下。 我选择了git里非常受欢迎的yolo系列,并尝试了最新版本YOLO11或者叫它ultr…...
扩散模型(三)
相关阅读: 扩散模型(一) 扩散模型(二) Latent Variable Space 潜在扩散模型(LDM;龙巴赫、布拉特曼等人,2022 年)在潜在空间而非像素空间中运行扩散过程,这…...
探索数学:从起源到未来的无尽旅程
数学的定义与本质 数学,这门古老而又充满魅力的学科,自人类文明诞生之初便如影随形。然而,要精准地定义数学并非易事,不同的学者从各自的视角出发,给出了多样的阐释。 亚里士多德将数学定义为 “数量科学”ÿ…...
OpenAI发布o3-mini:免费推理模型,DeepSeek引发的反思
引言 在人工智能领域,OpenAI再次引领潮流,推出了全新的推理模型系列——o3-mini。这一系列包括low、medium和high三个版本,旨在进一步推动低成本推理的发展。与此同时,OpenAI的CEO奥特曼也在Reddit的“有问必答”活动中罕见地公开…...
React中使用箭头函数定义事件处理程序
React中使用箭头函数定义事件处理程序 为什么使用箭头函数?1. 传递动态参数2. 避免闭包问题3. 确保每个方块的事件处理程序是独立的4. 代码可读性和维护性 示例代码总结 在React开发中,处理事件是一个常见的任务。特别是当我们需要传递动态参数时&#x…...
自制虚拟机(C/C++)(三、做成标准GUI Windows软件,扩展指令集,直接支持img软盘)
开源地址:VMwork 要使终端不弹出, #pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup") 还要实现jmp near 0x01类似的 本次的main.cpp #include <graphics.h> #include <conio.h> #include <windows.h> #includ…...
C# 语言基础全面解析
.NET学习资料 .NET学习资料 .NET学习资料 一、引言 C# 是一种功能强大、面向对象且类型安全的编程语言,由微软开发,广泛应用于各种类型的软件开发,从桌面应用、Web 应用到游戏开发等领域。本文将全面介绍 C# 语言的基础知识,帮…...
MySQL的覆盖索引
MySQL的覆盖索引 前言 当一个索引包含了查询所需的全部字段时,就可以提高查询效率,这样的索引又被称之为覆盖索引。 以MySQL常见的三种存储引擎为例:InnoDB、MyISAM、Memory,对于覆盖索引提高查询效率的方式均不同,…...
Hutool工具类
Hutool 是一个非常流行的 Java 工具类库,它提供了丰富的功能来简化开发中的常见任务,比如文件操作、加密、日期处理、字符串操作、数据库工具等。它是一个轻量级的工具库,可以减少开发者编写常用代码的工作量,提高开发效率。 主要…...
C++模板编程——可变参函数模板之折叠表达式
目录 1. 什么是折叠表达式 2. 一元左折 3. 一元右折 4. 二元左折 5. 二元右折 6. 后记 上一节主要讲解了可变参函数模板和参数包展开,这一节主要讲一下折叠表达式。 1. 什么是折叠表达式 折叠表达式是C17中引入的概念,引入折叠表达式的目的是为了…...
使用MATLAB进行雷达数据采集可视化
本文使用轮趣科技N10雷达,需要源码可在后台私信或者资源自取 1. 项目概述 本项目旨在通过 MATLAB 读取 N10 激光雷达 的数据,并进行 实时 3D 点云可视化。数据通过 串口 传输,并经过解析后转换为 三维坐标点,最终使用 pcplayer 进…...
【Linux系统】信号:信号保存 / 信号处理、内核态 / 用户态、操作系统运行原理(中断)
理解Linux系统内进程信号的整个流程可分为: 信号产生 信号保存 信号处理 上篇文章重点讲解了 信号的产生,本文会讲解信号的保存和信号处理相关的概念和操作: 两种信号默认处理 1、信号处理之忽略 ::signal(2, SIG_IGN); // ignore: 忽略#…...