【DBC专题】-12-不同类型报文(应用/诊断/网管/测量标定)在DBC中配置,以及在Autosar各模块间的信号数据流向

本文主要是介绍【DBC专题】-12-不同类型报文(应用/诊断/网管/测量标定)在DBC中配置,以及在Autosar各模块间的信号数据流向,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点击返回「Autosar从入门到精通-实战篇」总目录

案例背景(共18页精讲):该篇博文将告诉您:
1)Autosar中,不同类型报文(App应用UDS/OBD诊断NM网络管理报文XCP测量标定)的信号数据流向
2)CAN DBC中,不同的Attribute属性决定不同类型报文(App应用UDS/OBD诊断NM网络管理报文XCP测量标定)。
3)TechnicalReference-DbcRules-Vector文件下载,见下方链接:

TechnicalReference-DbcRules-Vectorhttps://download.csdn.net/download/qfmzhu/87580682

目录

1 Autosar中不同类型报文(应用/诊断/网络管理/测量标定)的信号数据流向

1.1 普通APP应用报文信号数据流向

1.1.1 多路复用Multiplexer报文信号数据流向

1.2 UDS/OBD诊断报文信号数据流向

1.3 NM网络管理报文信号数据流向

1.4 XCP测量标定报文信号数据流向

2 CAN DBC中如何定义不同类型报文(应用/诊断/网络管理/测量标定)

3 如何制作一个Autosar工具能够识别的CAN DBC

3.1 节点的定义

3.2 普通App帧配置

3.2.1 普通App Tx发送帧配置

3.2.2 普通App Rx接收帧配置

3.3 UDS/OBD诊断帧配置

3.3.1 UDS/OBD诊断功能请求帧配置

3.3.2 UDS/OBD诊断物理请求帧配置

3.3.3 UDS/OBD诊断诊断响应帧配置

3.4 NM网络管理帧配置

3.4.1 NM网络管理发送帧配置

3.4.2 NM网络管理接收帧配置

3.5 XCP测量标定帧配置

3.5.1 XCP测量标定发送帧配置

3.5.2 XCP测量标定接收帧配置

3.6 附件:Autosar工具能够使用的Demo.dbc

4 摘录:Autosar工具中使用的CAN DBC常用属性

结尾


优质博文推荐阅读(单击下方链接,即可跳转):

Vector工具链

CAN Matrix DBC

CAN Matrix Arxml

<--返回「实战篇」博文-总目录-->

<--返回「Autosar从入门到精通-实战篇」专栏主页-->

1 Autosar中不同类型报文(应用/诊断/网络管理/测量标定)的信号数据流向

经典CAN/CANFD通信为例,不同类型报文(应用/诊断/网络管理/测量标定)在Autosar BSW层中的信号数据流向,见图1-1。

图1-1

COM:Communication

DCM: Diagnostic Communication Manager

Ipdum: IPDU Multiplexer

PduR:PDU Router

Nm: Network Management

CanTp: CAN Transport Layer

CanIf: CAN Interface

1.1 普通APP应用报文信号数据流向

如图1-1所述:

Rx 接收一帧普通的APP应用报文信号数据流向:CAN Driver – > CanIf -- > PduR -- > Com

Tx 发送一帧普通的APP应用报文信号数据流向:Com – > PduR – > CanIf – > CAN Driver

1.1.1 多路复用Multiplexer报文信号数据流向

如图1-2所述:

Rx 接收一帧多路复用Multiplexer报文信号数据流向:CAN Driver – > CanIf -- > PduR -- > Ipdum – > PduR -- > Com

Tx 发送一帧多路复用Multiplexer报文信号数据流向:Com – > PduR – > Ipdum – > PduR -- > CanIf – > CAN Driver

图1-2

1.2 UDS/OBD诊断报文信号数据流向

如图1-1所述:

Rx 接收一帧UDS/OBD诊断报文信号数据流向:CAN Driver – > CanIf -- > CanTp -- > PduR -- > Dcm

Tx 发送一帧UDS/OBD诊断报文信号数据流向:Dcm – > PduR – > CanTp -- > CanIf – > CAN Driver

1.3 NM网络管理报文信号数据流向

如图1-3所述:

Rx 接收一帧NM网络管理信号数据流向:CAN Driver – > CanIf -- > CanNm -- > PduR -- > Com

Tx 发送一帧NM网络管理信号数据流向:Com – > PduR – > CanNm -- > CanIf – > CAN Driver

图1-3

1.4 XCP测量标定报文信号数据流向

如图1-1所述:

Rx 接收一帧XCP测量标定报文信号数据流向:CAN Driver – > CanIf -- > XCP

Tx 发送一帧XCP测量标定报文信号数据流向:XCP -- > CanIf – > CAN Driver

2 CAN DBC中如何定义不同类型报文(应用/诊断/网络管理/测量标定)

CAN DBC中,不同的Attribute属性定义,决定了不同类型的报文:APP应用报文UDS/OBD诊断报文NM网络管理报文XCP测量标定报文

Vector Davinci提供的《TechnicalReference_DbcRules_Vector.pdf》文档中,说明了CAN DBC文件中,不同类型报文AttributesGenMsgILSupport,DiagState,DiagRequest,DiagResponse,NmAsrMessage)定义,见下表。

Attribute属性

GenMsgILSupport

DiagState

DiagRequest

DiagResponse

NmAsrMessage

APP应用报文

Yes

No

No

No

No

UDS/OBD诊断报文

No

Yes/No

Yes/No

Yes/No

No

NM网络管理报文

No

No

No

No

Yes

XCP测量标定报文

No

No

No

No

No

3 如何制作一个Autosar工具能够识别的CAN DBC

制作一个完整的CAN DBC,过程可参考博文“【DBC专题】-1-如何使用CANdb++ Editor创建并制作一个DBChttps://blog.csdn.net/qfmzhu/article/details/111403266”,第3.2~3.5章节摘录了message配置,需要重点关注的地方:发送节点,接收节点,属性设置差异。

Autosar工具链导入CAN DBC可参考博文:

【DaVinci Configurator专题】-2-将CAN 2.0或CANFD Matrix的Arxml/DBC文件导入到CFGhttps://blog.csdn.net/qfmzhu/article/details/115032771

3.1 节点的定义

在Network nodes中,至少定义4个节点,见图3-1:

  • 当前所在ECU的节点名称:默认为DCDC;
  • 定义若干个该ECU的接收节点:以VCU为例,这些节点中存在NM帧发送节点
  • 定义一个UDS/OBD诊断/测试仪节点:以Test为例。
  • 定义一个XCP测量标定节点:以MCD为例。

图3-1

3.2 普通App帧配置

3.2.1 普通App Tx发送帧配置

3.2.2 普通App Rx接收帧配置

3.3 UDS/OBD诊断帧配置

3.3.1 UDS/OBD诊断功能请求帧配置

3.3.2 UDS/OBD诊断物理请求帧配置

3.3.3 UDS/OBD诊断诊断响应帧配置

3.4 NM网络管理帧配置

3.4.1 NM网络管理发送帧配置

3.4.2 NM网络管理接收帧配置

3.5 XCP测量标定帧配置

3.5.1 XCP测量标定发送帧配置

3.5.2 XCP测量标定接收帧配置

3.6 附件:Autosar工具能够使用的Demo.dbc

将以下内容复制到一个txt文件中,并保存,接着将文件后缀txt用dbc替换,这样可以快速得到这个demo.dbc文件。

VERSION ""NS_ : NS_DESC_CM_BA_DEF_BA_VAL_CAT_DEF_CAT_FILTERBA_DEF_DEF_EV_DATA_ENVVAR_DATA_SGTYPE_SGTYPE_VAL_BA_DEF_SGTYPE_BA_SGTYPE_SIG_TYPE_REF_VAL_TABLE_SIG_GROUP_SIG_VALTYPE_SIGTYPE_VALTYPE_BO_TX_BU_BA_DEF_REL_BA_REL_BA_DEF_DEF_REL_BU_SG_REL_BU_EV_REL_BU_BO_REL_SG_MUL_VAL_BS_:BU_: MCD Tester VCU DCDCBO_ 1809 XCP_Tx_Message: 8 DCDCSG_ DCDC_to_MCD_Resp : 7|64@0+ (1,0) [0|0] ""  MCDBO_ 1808 XCP_Rx_Message: 8 MCDSG_ MCD_Req : 7|64@0+ (1,0) [0|0] ""  DCDCBO_ 513 NM_Tx_Message: 8 DCDCSG_ NM_Tx_Message_Signal : 7|8@0+ (1,0) [0|0] ""  VCUBO_ 512 NM_Rx_Message: 8 VCUSG_ NM_Rx_Message_Signal : 7|8@0+ (1,0) [0|0] ""  DCDCBO_ 1794 Diag_Response: 8 DCDCSG_ DCDC_to_Tester_Phy_Resp : 7|64@0+ (1,0) [0|0] ""  TesterBO_ 1793 Diag_Physical_Request: 8 TesterSG_ Tester_Phy_Req : 7|64@0+ (1,0) [0|0] ""  DCDCBO_ 1792 Diag_Function_Request: 8 TesterSG_ Tester_Fun_Req : 7|64@0+ (1,0) [0|0] ""  DCDCBO_ 256 APP_Rx_Message: 8 VCUSG_ APP_Rx_Message_Signal : 7|8@0+ (1,0) [0|0] ""  DCDCBO_ 257 APP_Tx_Message: 8 DCDCSG_ APP_Tx_Message_Signal : 7|8@0+ (1,0) [0|0] ""  VCUBA_DEF_ BU_  "NmStationAddress" INT 0 127;
BA_DEF_  "NmBaseAddress" HEX 1152 1279;
BA_DEF_  "Manufacturer" STRING ;
BA_DEF_ SG_  "GenSigInactiveValue" INT 0 2147483647;
BA_DEF_ SG_  "GenSigSendType" ENUM  "Cyclic","OnWrite","OnWriteWithRepetition","OnChange","OnChangeWithRepetition","IfActive","IfActiveWithRepetition","NoSigSendType","OnChangeAndIfActive","OnChangeAndIfActiveWithRepetition","vector_leerstring";
BA_DEF_ SG_  "GenSigStartValue" INT 0 2147483647;
BA_DEF_ BO_  "DiagRequest" ENUM  "no","yes";
BA_DEF_ BO_  "DiagResponse" ENUM  "no","yes";
BA_DEF_ BO_  "DiagState" ENUM  "no","yes";
BA_DEF_ BO_  "DiagUudtResponse" ENUM  "false","true";
BA_DEF_ BO_  "NmAsrMessage" ENUM  "No","Yes";
BA_DEF_ BO_  "GenMsgCycleTime" INT 0 65535;
BA_DEF_ BO_  "GenMsgCycleTimeFast" INT 0 65535;
BA_DEF_ BO_  "GenMsgDelayTime" INT 0 65535;
BA_DEF_ BO_  "GenMsgFastOnStart" INT 0 65535;
BA_DEF_ BO_  "GenMsgILSupport" ENUM  "no","yes";
BA_DEF_ BO_  "GenMsgNrOfRepetition" INT 0 999;
BA_DEF_ BO_  "GenMsgSendType" ENUM  "Cyclic","NotUsed","NotUsed","NotUsed","NotUsed","NotUsed","NotUsed","IfActive","NoMsgSendType";
BA_DEF_ BO_  "GenMsgStartDelayTime" INT 0 65535;
BA_DEF_ BO_  "TpTxIndex" INT 0 255;
BA_DEF_  "BusType" STRING ;
BA_DEF_ SG_  "GenSigTimeoutTime" INT 0 65535;
BA_DEF_DEF_  "NmStationAddress" 0;
BA_DEF_DEF_  "NmBaseAddress" 1152;
BA_DEF_DEF_  "Manufacturer" "Vector";
BA_DEF_DEF_  "GenSigInactiveValue" 0;
BA_DEF_DEF_  "GenSigSendType" "";
BA_DEF_DEF_  "GenSigStartValue" 0;
BA_DEF_DEF_  "DiagRequest" "";
BA_DEF_DEF_  "DiagResponse" "";
BA_DEF_DEF_  "DiagState" "";
BA_DEF_DEF_  "DiagUudtResponse" "";
BA_DEF_DEF_  "NmAsrMessage" "";
BA_DEF_DEF_  "GenMsgCycleTime" 0;
BA_DEF_DEF_  "GenMsgCycleTimeFast" 0;
BA_DEF_DEF_  "GenMsgDelayTime" 0;
BA_DEF_DEF_  "GenMsgFastOnStart" 0;
BA_DEF_DEF_  "GenMsgILSupport" "";
BA_DEF_DEF_  "GenMsgNrOfRepetition" 0;
BA_DEF_DEF_  "GenMsgSendType" "Cyclic";
BA_DEF_DEF_  "GenMsgStartDelayTime" 0;
BA_DEF_DEF_  "TpTxIndex" 0;
BA_DEF_DEF_  "BusType" "CAN";
BA_DEF_DEF_  "GenSigTimeoutTime" 0;
BA_ "DiagRequest" BO_ 1809 0;
BA_ "DiagResponse" BO_ 1809 0;
BA_ "DiagState" BO_ 1809 0;
BA_ "DiagUudtResponse" BO_ 1809 0;
BA_ "NmAsrMessage" BO_ 1809 0;
BA_ "GenMsgILSupport" BO_ 1809 0;
BA_ "GenMsgSendType" BO_ 1809 8;
BA_ "DiagRequest" BO_ 1808 0;
BA_ "DiagResponse" BO_ 1808 0;
BA_ "DiagState" BO_ 1808 0;
BA_ "DiagUudtResponse" BO_ 1808 0;
BA_ "NmAsrMessage" BO_ 1808 0;
BA_ "GenMsgILSupport" BO_ 1808 0;
BA_ "GenMsgSendType" BO_ 1808 8;
BA_ "DiagRequest" BO_ 513 0;
BA_ "DiagResponse" BO_ 513 0;
BA_ "DiagState" BO_ 513 0;
BA_ "DiagUudtResponse" BO_ 513 0;
BA_ "NmAsrMessage" BO_ 513 1;
BA_ "GenMsgCycleTime" BO_ 513 200;
BA_ "GenMsgILSupport" BO_ 513 0;
BA_ "GenMsgSendType" BO_ 513 0;
BA_ "DiagRequest" BO_ 512 0;
BA_ "DiagResponse" BO_ 512 0;
BA_ "DiagState" BO_ 512 0;
BA_ "DiagUudtResponse" BO_ 512 0;
BA_ "NmAsrMessage" BO_ 512 1;
BA_ "GenMsgCycleTime" BO_ 512 200;
BA_ "GenMsgILSupport" BO_ 512 0;
BA_ "GenMsgSendType" BO_ 512 0;
BA_ "DiagRequest" BO_ 1794 0;
BA_ "DiagResponse" BO_ 1794 1;
BA_ "DiagState" BO_ 1794 0;
BA_ "DiagUudtResponse" BO_ 1794 1;
BA_ "NmAsrMessage" BO_ 1794 0;
BA_ "GenMsgILSupport" BO_ 1794 0;
BA_ "GenMsgSendType" BO_ 1794 8;
BA_ "DiagRequest" BO_ 1793 1;
BA_ "DiagResponse" BO_ 1793 0;
BA_ "DiagState" BO_ 1793 0;
BA_ "DiagUudtResponse" BO_ 1793 1;
BA_ "NmAsrMessage" BO_ 1793 0;
BA_ "GenMsgILSupport" BO_ 1793 0;
BA_ "GenMsgSendType" BO_ 1793 8;
BA_ "DiagRequest" BO_ 1792 0;
BA_ "DiagResponse" BO_ 1792 0;
BA_ "DiagState" BO_ 1792 1;
BA_ "DiagUudtResponse" BO_ 1792 1;
BA_ "NmAsrMessage" BO_ 1792 0;
BA_ "GenMsgILSupport" BO_ 1792 0;
BA_ "GenMsgSendType" BO_ 1792 8;
BA_ "DiagRequest" BO_ 256 0;
BA_ "DiagResponse" BO_ 256 0;
BA_ "DiagState" BO_ 256 0;
BA_ "DiagUudtResponse" BO_ 256 0;
BA_ "NmAsrMessage" BO_ 256 0;
BA_ "GenMsgCycleTime" BO_ 256 100;
BA_ "GenMsgILSupport" BO_ 256 1;
BA_ "GenMsgSendType" BO_ 256 0;
BA_ "GenMsgCycleTime" BO_ 257 100;
BA_ "DiagRequest" BO_ 257 0;
BA_ "DiagResponse" BO_ 257 0;
BA_ "DiagState" BO_ 257 0;
BA_ "DiagUudtResponse" BO_ 257 0;
BA_ "NmAsrMessage" BO_ 257 0;
BA_ "GenMsgCycleTimeFast" BO_ 257 20;
BA_ "GenMsgDelayTime" BO_ 257 10;
BA_ "GenMsgILSupport" BO_ 257 1;
BA_ "GenMsgNrOfRepetition" BO_ 257 3;
BA_ "GenMsgSendType" BO_ 257 7;
BA_ "GenMsgStartDelayTime" BO_ 257 10;

4 摘录:Autosar工具中使用的CAN DBC常用属性

Attribute Name

Object Type

Value Type

Values and Ranges

(Bold = default)

Description

Manufacturer

Network

String

Vector

表示OEM。value必须是 " Vector "。

BusType

Network

String

CAN

CAN FD

定义CAN-2.0和CAN-FD网络。如果至少有一个CAN-FD报文,则必须设置为 "CAN FD"。

VFrameFormat

Message

Enum

CAN Standard

CAN Extended

CAN FD Standard

CAN FD Extended

表示CAN报文的种类。这个属性对每个报文都是可用的,在属性定义中没有声明。它的显示文本是 "ID-Format "或 "Type"。

GenMsgILSupport

Message

Enum

No: 0

Yes: 1

表示一个消息将由COM处理。如果选择 "yes",该信息将由COM处理,否则不处理。

GenMsgSendType

Message

Enum

Cyclic: 0,

NotUsed,

NotUsed,

NotUsed,

NotUsed,

NotUsed,

NotUsed,

NotUsed,

NoMsgSendType: 8

指定I-PDU的Tx行为。可以与任何类型的GenSigSendType相结合。

GenSigSendType

Signal

Enum

Cyclic: 0,

OnWrite: 1,

OnWriteWithRepetition: 2,

OnChange: 3,

OnChangeWithRepetition: 4, NotUsed,

NotUsed,

NoSigSendType: 7

指定一个信号的Tx行为。OnChange仅支持<=4 Byte的信号。

请注意:带重复的发送类型和不带重复的发送类型的组合将导致信息在任何时候都是带重复的发送。

GenMsgCycleTime

Message

Integer

0..65535

每次循环发送信息之间的时间,单位是毫秒。

GenMsgCycleTimeFast

Message

Integer

0..65535

如果至少有一个IfActiveSignal的默认值不同,则每次循环发送消息之间的时间(ms)。

也适用于有重复的消息(即GenMsgNrOfRepetition > 0)。每次重复的时间间隔。

GenSigStartValue

Signal

Integer

Float

0..2147483647

这个值是信号的默认值。

字符串值类型可以表示十六进制和整数值。

GenSigInactiveValue

Signal

Integer

0..2147483647

表示信号的无效值。

GenMsgDelayTime

Message

Integer

0..65535

这是具有相同标识符的不同信息发送之间的最小时间,单位是ms。

GenMsgStartDelayTime

Message

Integer

0..65535

这定义了Com_IpduGroupStart和这个I-PDU的循环部分的第一次发送之间的时间,单位是ms。

GenMsgNrOfRepetition

Message

Integer

0..255

在一个初始发送请求之后的发送重复次数。重复之间的时间必须使用dbc属性GenMsgCycleTimeFast来定义。

GenSigTimeoutTime_<Ecu>

Signal

Integer

0..65535

用于特定节点收到的该信号的超时时间(ms)。

如果为一个消息配置了不同的GenSigTimeoutTime值,并且没有使用更新位,那么最低的超时时间(最强的定义)被用于超时监测。

必须为每个接收此信号的ECU提供一个专门的属性定义(GenSigTimeoutTime_<Ecu>)。

NmAsrMessage

Message

Enum

No = 0,

Yes = 1

该属性定义了相应的消息是否是AUTOSAR NM消息

DiagState

Message

Enum

No = 0,

Yes = 1

设置为 "yes",用于

> Functional (UDS) request

CanTp将使用Normal addressing。

DiagRequest

Message

Enum

No = 0,

Yes = 1

设置为 "yes",用于

> Physical Request

CanTp将使用Normal addressing。

DiagResponse

Message

Enum

No = 0,

Yes = 1

设置为 "是",用于。

> Physical Response

CanTp将使用Normal addressing。

<--返回「实战篇」博文-总目录-->

<--返回「Autosar从入门到精通-实战篇」专栏主页-->

<--返回「个人博客」首页-->

结尾

获取更多“汽车电子资讯”和“工具链使用”,

请关注CSDN博客“汽车电子助手”,做您的好助手。

这篇关于【DBC专题】-12-不同类型报文(应用/诊断/网管/测量标定)在DBC中配置,以及在Autosar各模块间的信号数据流向的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/qfmzhu/article/details/129552603
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/693900

相关文章

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

maven私服配置全过程

《maven私服配置全过程》:本文主要介绍maven私服配置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录使用Nexus作为 公司maven私服maven 私服setttings配置maven项目 pom配置测试效果总结使用Nexus作为 公司maven私

全屋WiFi 7无死角! 华硕 RP-BE58无线信号放大器体验测评

《全屋WiFi7无死角!华硕RP-BE58无线信号放大器体验测评》家里网络总是有很多死角没有网,我决定入手一台支持Mesh组网的WiFi7路由系统以彻底解决网络覆盖问题,最终选择了一款功能非常... 自2023年WiFi 7技术标准(IEEE 802.11be)正式落地以来,这项第七代无线网络技术就以超高速

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

Python使用Tkinter打造一个完整的桌面应用

《Python使用Tkinter打造一个完整的桌面应用》在Python生态中,Tkinter就像一把瑞士军刀,它没有花哨的特效,却能快速搭建出实用的图形界面,作为Python自带的标准库,无需安装即可... 目录一、界面搭建:像搭积木一样组合控件二、菜单系统:给应用装上“控制中枢”三、事件驱动:让界面“活”

CentOS 7 YUM源配置错误的解决方法

《CentOS7YUM源配置错误的解决方法》在使用虚拟机安装CentOS7系统时,我们可能会遇到YUM源配置错误的问题,导致无法正常下载软件包,为了解决这个问题,我们可以替换YUM源... 目录一、备份原有的 YUM 源配置文件二、选择并配置新的 YUM 源三、清理旧的缓存并重建新的缓存四、验证 YUM 源

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压