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

Centos系统详解架构详解

CentOS 全面详解

一、CentOS 概述

CentOS(Community Enterprise Operating System) 是基于 Red Hat Enterprise Linux(RHEL) 源代码构建的免费开源操作系统,专注于稳定性、安全性和长期支持,广泛应用于服务器、云计算和企业级基础设施。其核心目标是提供与 RHEL 二进制兼容的系统,便于企业在不支付授权费用的情况下使用 RHEL 的成熟生态。

二、历史与版本演进

1. 起源

◦ 由 CentOS 项目 维护,始于 2004 年,最初作为 RHEL 的免费替代品。

◦ 2014 年红帽收购 CentOS 项目,2020 年宣布 CentOS 8 于 2021 年底停止维护,并主推滚动更新的 CentOS Stream 作为新社区版。

2. 主要版本

◦ CentOS 7(2014-2024):长期支持(LTS)版本,采用 Systemd,内核 3.10,广泛用于企业服务器。

◦ CentOS 8(2019-2021):内核 4.18,引入 DNF 作为默认包管理器,后因红帽战略调整提前终止支持。

◦ CentOS Stream:红帽主导的滚动更新版,作为 RHEL 的上游测试版,版本号与 RHEL 同步(如 Stream 9 对应 RHEL 9)。

3. 替代发行版

◦ 因 CentOS 8 停服,社区衍生出 Rocky Linux、AlmaLinux(均 100% 兼容 RHEL),以及 Oracle Linux(含额外驱动和云优化)。

三、核心特点

1. 稳定性与企业级支持

◦ 基于 RHEL 成熟代码,经过严格测试,适合长时间运行的关键业务。

◦ LTS 版本提供 10 年安全更新(如 CentOS 7 支持至 2024 年)。

2. 开源免费

◦ 无需授权费用,可自由使用、修改和分发,符合企业成本控制需求。

3. 强大的生态系统

◦ 支持主流云计算平台(AWS、Azure、阿里云)、容器化工具(Docker、Kubernetes)和数据库(MySQL、PostgreSQL)。

◦ 包管理工具 YUM/DNF 提供丰富软件源(如 EPEL、Remi)。

4. 安全性

◦ 内置 SELinux(安全增强型 Linux)强制访问控制,firewalld 防火墙,定期发布安全补丁。

◦ 支持内核实时更新(Live Patching)和固件验证。

5. 硬件兼容性

◦ 兼容 x86_64、ARM64(如 CentOS Stream 9 支持 Apple Silicon)等架构,适配企业级硬件设备。

四、安装与部署

1. 获取镜像

◦ 官方镜像源:CentOS Stream 下载,提供 DVD 安装版和最小网络安装版。

◦ 第三方镜像:阿里云、清华大学开源软件镜像站。

2. 安装步骤(以 CentOS Stream 9 为例)

◦ 引导:通过 USB 或光盘启动,选择 Install CentOS Stream。

◦ 语言与时区:选择简体中文或 English,设置时区(如 Asia/Shanghai)。

◦ 存储配置:

◦ 自动分区:适合新手,默认使用 XFS 文件系统。

◦ 手动分区:常见分区方案:

◦ /boot:200-500MB(存放内核和引导文件)

◦ /:根分区,建议 50GB 以上

◦ swap:内存 2 倍(适用于物理服务器,云服务器可忽略)

◦ LVM:推荐使用逻辑卷管理,便于后续扩容。

◦ 网络配置:启用 IPv4,手动设置静态 IP 或 DHCP,配置 DNS 服务器。

◦ 用户设置:创建管理员用户(非 root 登录更佳),设置 root 密码。

◦ 安装类型:

◦ 最小安装:仅基础组件,适合服务器(推荐)。

◦ 带 GUI 的服务器:包含 GNOME 桌面,适合图形化管理。

3. 初始化配置

◦ 首次登录后运行 sudo yum update 升级系统包。

◦ 禁用 SELinux(测试环境可选):修改 /etc/selinux/config 为 SELINUX=permissive,重启生效。

◦ 配置国内镜像源:替换 /etc/yum.repos.d/ 下的官方源为阿里云或清华大学源,提升下载速度。

五、系统架构与核心组件

1. 包管理:YUM 与 DNF

◦ YUM(Yellowdog Updater, Modified):CentOS 7 默认工具,用于安装、更新、删除软件包。
yum install httpd       # 安装 Apache
yum update             # 更新所有包
yum remove mysql       # 删除 MySQL
◦ DNF(Dandified YUM):CentOS 8/Stream 默认工具,性能更强,支持事务管理。
dnf search nginx       # 搜索软件包
dnf upgrade            # 升级系统
dnf clean all          # 清理缓存
2. 初始化系统:Systemd

◦ 替代传统 SysVinit,支持并行启动服务,管理系统资源更高效。

◦ 常用命令:
systemctl start httpd    # 启动服务
systemctl enable httpd   # 设置开机自启
systemctl status httpd   # 查看状态
systemctl list-units     # 列出所有服务
3. 安全机制:SELinux

◦ 强制访问控制(MAC)系统,限制进程和文件的访问权限,防御恶意攻击。

◦ 模式:

◦ enforcing:强制模式(默认,严格执行策略)。

◦ permissive:宽容模式(仅日志记录违规,不阻止操作)。

◦ disabled:禁用(不推荐生产环境)。

◦ 查看状态:sestatus

◦ 临时修改:setenforce 0(切换至 permissive)

4. 文件系统结构

◦ /boot:存放内核、引导加载程序(GRUB)和启动文件。

◦ /etc:存储系统配置文件(如 network、yum.repos.d)。

◦ /var:存放动态数据(日志、邮件、网站内容)。

◦ /usr:用户程序和库文件(类似 Windows 的 Program Files)。

◦ /opt:第三方应用安装目录(如 Oracle、Tomcat)。

◦ /proc 和 /sys:虚拟文件系统,用于内核与用户空间通信。

六、网络配置与服务管理

1. 网络接口配置

◦ 静态 IP 设置(以 ens33 为例):
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
ONBOOT=yes
◦ 重启网络服务:systemctl restart network(CentOS 7)或 nmcli connection reload(CentOS 8/Stream)。

2. 防火墙管理

◦ CentOS 7:默认使用 iptables,需手动配置规则。
service iptables start        # 启动防火墙
iptables -I INPUT -p tcp --dport 80 -j ACCEPT  # 允许 80 端口
◦ CentOS 8/Stream:默认使用 firewalld,支持区域(zone)管理。
systemctl enable --now firewalld  # 启用并启动
firewall-cmd --add-port=80/tcp --permanent  # 永久开放 80 端口
firewall-cmd --reload  # 重新加载配置
3. 常用网络服务

◦ HTTP/HTTPS:Apache(httpd)或 Nginx,配置文件位于 /etc/httpd/ 或 /etc/nginx/。

◦ SSH:OpenSSH 服务,默认端口 22,配置文件 /etc/ssh/sshd_config,支持密钥认证提升安全性。

◦ DNS:BIND 服务(named),或使用 systemd-resolved 管理本地 DNS。

七、系统管理与维护

1. 用户与权限管理

◦ 创建用户:useradd -m -s /bin/bash username(-m 创建家目录,-s 指定 shell)。

◦ 设置密码:passwd username。

◦ 权限控制:

◦ chmod:修改文件权限(如 chmod 755 /var/www/html)。

◦ chown:修改所有者(如 chown root:www-data /var/log/httpd)。

◦ sudo:赋予普通用户管理员权限,编辑 /etc/sudoers 配置。

2. 磁盘与存储管理

◦ 查看磁盘信息:fdisk -l 或 lsblk。

◦ 格式化分区:mkfs.xfs /dev/sdb1。

◦ 挂载分区:mount /dev/sdb1 /mnt/data,永久挂载需修改 /etc/fstab。

◦ LVM(逻辑卷管理):
pvcreate /dev/sdb     # 创建物理卷
vgcreate vg_data /dev/sdb  # 创建卷组
lvcreate -L 50G -n lv_data vg_data  # 创建逻辑卷
mkfs.xfs /dev/vg_data/lv_data
3. 日志管理

◦ 系统日志:存储于 /var/log/,常见文件:

◦ messages:系统通用日志。

◦ secure:认证相关日志(如 SSH 登录)。

◦ yum.log:包管理日志。

◦ 日志查看工具:

◦ cat、tail -f:实时追踪日志。

◦ journalctl:查询 Systemd 日志(如 journalctl -u httpd)。

4. 系统更新与升级

◦ 常规更新:yum update 或 dnf update(更新所有包,不升级内核)。

◦ 内核升级:使用 yum install kernel 或第三方工具(如 yum-plugin-system-upgrade)。

◦ 版本升级(如 CentOS 7 到 8):需谨慎,建议备份数据后使用官方工具或重新安装。

八、安全性最佳实践

1. 强化 SSH 安全

◦ 禁用 root 直接登录:修改 /etc/ssh/sshd_config 中的 PermitRootLogin no,重启服务。

◦ 使用 SSH 密钥认证:生成密钥对 ssh-keygen,将公钥存入 ~/.ssh/authorized_keys,权限设为 600。

◦ 限制登录尝试:安装 fail2ban,自动封禁频繁失败的 IP。

2. SELinux 策略优化

◦ 生产环境保持 enforcing 模式,通过 audit2allow 命令生成自定义策略修复权限问题。

◦ 示例:修复 Apache 访问自定义目录权限:
chcon -R -t httpd_sys_content_t /var/www/myapp  # 临时修改标签
semanage fcontext -a -t httpd_sys_content_t "/var/www/myapp(/.*)?"  # 永久生效
restorecon -Rv /var/www/myapp  # 应用策略
3. 定期审计与备份

◦ 审计工具:auditd 监控系统调用,aide 检测文件篡改。

◦ 备份方案:使用 rsync 同步数据到远程服务器,或 tar 打包关键目录(如 /etc、/var/lib/mysql)。

4. 关闭不必要的服务

◦ 禁用默认不使用的服务:systemctl disable --now postfix(关闭邮件服务)。

◦ 检查开放端口:netstat -tunlp 或 ss -ltnp,确保仅暴露必要端口。

九、应用场景

1. 服务器基础设施

◦ Web 服务器(LAMP/LNMP 架构)、邮件服务器(Postfix)、文件服务器(Samba/NFS)。

◦ 云服务器镜像(如 AWS EC2、阿里云 ECS)的首选系统之一。

2. 容器化与虚拟化

◦ 支持 Docker、Podman 容器引擎,Kubernetes 集群节点的主流选择。

◦ 虚拟化平台(如 KVM)的宿主操作系统。

3. 数据库服务

◦ 运行 MySQL、PostgreSQL、MongoDB 等数据库,利用 CentOS 的稳定性保障数据安全。

4. 企业级开发环境

◦ 作为开发人员的本地虚拟机(如 VMware/VirtualBox)或远程开发服务器,提供一致的编译和测试环境。

十、替代方案与选择建议
发行版 特点 适用场景 
CentOS Stream 红帽官方社区版,滚动更新,与 RHEL 同步,适合开发和测试环境。 开发、CI/CD 流水线 
Rocky Linux 由 CentOS 创始人创建,100% 兼容 RHEL,LTS 模式,社区活跃。 企业生产环境(替代 CentOS 8) 
AlmaLinux 由 CloudLinux 维护,兼容 RHEL,提供长期支持和商业服务选项。 生产环境、付费支持需求 
Oracle Linux 含 Oracle 自研驱动(如 ZFS),支持 Ksplice 热补丁,免费用于生产环境。 Oracle 数据库、云服务 
RHEL 红帽官方版本,提供商业支持和认证,适合关键业务系统。 需付费支持的企业场景 

十一、优缺点总结

• 优点:

◦ 稳定性极强,适合长期运行的关键业务。

◦ 与 RHEL 二进制兼容,生态成熟,软件支持丰富。

◦ 社区和企业级文档齐全,便于故障排查。

• 缺点:

◦ 软件版本更新较慢(LTS 特性),需手动启用测试源获取新包。

◦ 桌面环境体验不如 Ubuntu 等发行版,主要面向服务器场景。

◦ CentOS 8 停服后,需迁移至 Stream 或替代发行版。

十二、学习资源

• 官方文档:CentOS Stream 文档(内容与 RHEL 高度重合)。

• 社区论坛:CentOS 论坛、Stack Overflow(标签 centos)。

• 书籍:《Linux 命令行与shell脚本编程大全》《Red Hat Linux 系统管理实战》。

• 在线课程:Red Hat 官方培训(RHCSA/RHCE)、Udemy 上的 CentOS 系统管理课程。

十三、总结

CentOS 凭借其与 RHEL 的兼容性、稳定性和免费特性,成为企业级 Linux 系统的标杆。尽管 CentOS 8 停止维护,但通过迁移至 CentOS Stream、Rocky Linux 等替代方案,仍能延续其在服务器领域的统治力。对于需要高可靠性、长生命周期支持的场景,CentOS 及其衍生版仍是首选之一。

CentOS 系统架构深度解析

一、内核架构与演进

CentOS 的核心是 Linux 内核,其版本与 RHEL 完全同步,确保稳定性与企业级支持。

• CentOS 7:基于 Linux 3.10 内核,长期维护至 2024 年,支持 x86_64、ARM 等架构,引入 Systemd 替代传统 SysVinit。

• CentOS 8:升级至 Linux 4.18 内核,支持 Btrfs 文件系统、KVM 虚拟化增强,并默认使用 DNF 包管理器。

• CentOS Stream 9:采用 Linux 5.14 内核,支持 Apple Silicon(ARM64)、eBPF 性能监控,以及 Live Patching 内核热更新。

关键特性:

• 模块化设计:支持动态加载内核模块(如驱动、文件系统),通过 lsmod 查看已加载模块。

• 安全增强:集成 SELinux(Security-Enhanced Linux)强制访问控制,默认处于 enforcing 模式。

• 性能优化:内核参数可通过 /etc/sysctl.conf 调整,例如优化网络连接数(net.core.somaxconn)或内存回收策略(vm.swappiness)。

二、文件系统与存储管理

CentOS 支持多种文件系统,满足不同场景需求:

• XFS:默认文件系统,适合大文件和高并发场景,支持 在线扩容 和 元数据日志。

• Btrfs:现代写时复制(CoW)文件系统,支持 RAID 0/1/5/10、快照、压缩,CentOS 7 及以上默认支持。

• ZFS:需通过第三方库(如 zfs-on-linux)安装,提供 数据校验、分层存储、跨设备冗余,适合企业级存储。

存储架构:

1. 传统分区:通过 fdisk 或 parted 手动分区,适合简单场景。

2. LVM(逻辑卷管理):动态扩展存储空间,支持卷组(VG)、逻辑卷(LV)和快照。
# 创建 LVM 示例
pvcreate /dev/sdb       # 物理卷
vgcreate vg_data /dev/sdb # 卷组
lvcreate -L 50G -n lv_data vg_data # 逻辑卷
mkfs.xfs /dev/vg_data/lv_data
3. Btrfs 跨设备存储:
# 创建跨设备 Btrfs 文件系统
mkfs.btrfs -d raid1 /dev/sdb /dev/sdc
三、初始化系统与服务管理

CentOS 7 及以上采用 Systemd 替代 SysVinit,实现并行启动和高效资源管理:

• 单元类型:

◦ Service:管理服务(如 httpd.service)。

◦ Socket:基于套接字的激活(如 sshd.socket)。

◦ Target:定义启动目标(如 multi-user.target 对应命令行模式)。

• 核心命令:
systemctl start httpd         # 启动服务
systemctl enable --now firewalld # 开机自启并启动
systemctl status docker       # 查看状态
systemctl list-units --type=service # 列出所有服务
• 日志管理:

◦ journalctl:统一查看 Systemd 日志(如 journalctl -u httpd)。

◦ rsyslog:传统日志系统,配置文件 /etc/rsyslog.conf。

四、包管理与软件生态

CentOS 依赖 RPM 包格式,通过 YUM/DNF 工具管理软件:

• YUM(CentOS 7):
yum install nginx          # 安装软件
yum update                 # 更新所有包
yum history                # 查看安装历史
• DNF(CentOS 8/Stream):
dnf search python3         # 搜索包
dnf upgrade                # 升级系统
dnf copr enable @remi/php81 # 启用第三方源
• 核心仓库:

◦ BaseOS:基础系统包。

◦ AppStream:应用程序和工具(如 PHP、Python)。

◦ EPEL:Extra Packages for Enterprise Linux,提供额外软件。

五、网络架构与安全机制

1. 网络配置:

◦ CentOS 7:支持 network.service 和 NetworkManager,通过 /etc/sysconfig/network-scripts/ifcfg-* 配置静态 IP。

◦ CentOS 8/Stream:仅支持 NetworkManager,使用 nmcli 命令管理:
nmcli connection add type ethernet con-name ens33 ifname ens33 ip4 192.168.1.100/24 gw4 192.168.1.1
nmcli connection up ens33
2. 防火墙:

◦ CentOS 7:默认使用 iptables,需手动编写规则。

◦ CentOS 8/Stream:默认使用 firewalld,支持区域(zone)管理:
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload
3. 安全增强:

◦ SELinux:强制访问控制,通过 sestatus 查看状态,setenforce 0 临时禁用。

◦ SSH 强化:禁用 root 登录、使用密钥认证、限制登录尝试(fail2ban)。

六、性能监控与优化

1. 实时监控工具:

◦ top/htop:查看进程和资源占用。

◦ dstat:整合 CPU、内存、I/O、网络统计。

◦ glances:交互式监控,支持远程访问。

2. 历史数据分析:

◦ sar:系统活动报告,记录 CPU、内存、I/O 等数据。

◦ netdata:实时性能监控,提供 Web 界面。

3. 内核调优:

◦ sysctl:调整内核参数(如 net.ipv4.tcp_max_tw_buckets)。

◦ perf:性能分析工具,定位热点函数。

七、系统服务与典型部署

1. Web 服务:

◦ Apache:配置文件 /etc/httpd/conf/httpd.conf,支持虚拟主机和反向代理。

◦ Nginx:配置文件 /etc/nginx/nginx.conf,适合高并发场景。

2. 数据库:

◦ MySQL/MariaDB:通过 yum install mariadb-server 安装,配置文件 /etc/my.cnf。

◦ PostgreSQL:使用 dnf module enable postgresql:14 启用模块,配置文件 /var/lib/pgsql/data/postgresql.conf。

3. 容器化:

◦ Docker:安装 docker-ce 包,支持镜像构建和容器管理。

◦ Kubernetes:通过 kubeadm 部署集群,需配置 crictl 与容器运行时交互。

八、版本差异与迁移建议
特性 CentOS 7 CentOS 8/Stream 
内核版本 3.10 4.18(8)/5.14(Stream 9) 
包管理器 YUM DNF 
网络管理 network.service + NM 仅 NM 
防火墙 iptables firewalld 
文件系统支持 XFS、Btrfs XFS、Btrfs、ZFS(需第三方) 
生命周期 2024 年终止支持 Stream 9 至 2029 年 

迁移建议:

• CentOS 7 到 Stream 9:备份数据后,使用 dnf system-upgrade 工具升级,或重新安装。

• CentOS 8 到 Rocky Linux/AlmaLinux:替换软件源并执行 dnf distro-sync。

九、系统架构总结

CentOS 的系统架构以 稳定性 和 兼容性 为核心,通过 Linux 内核、Systemd、YUM/DNF 构建企业级生态。其分层设计(用户空间、内核、硬件抽象)支持灵活扩展,而 SELinux 和 firewalld 保障了安全性。对于不同场景,可通过 LVM、Btrfs 优化存储,或使用 Docker、Kubernetes 实现容器化部署。尽管 CentOS 8 已停止维护,但 Rocky Linux 和 AlmaLinux 提供了 100% 兼容的替代方案,延续了其企业级优势。

相关文章:

Centos系统详解架构详解

CentOS 全面详解 一、CentOS 概述 CentOS(Community Enterprise Operating System) 是基于 Red Hat Enterprise Linux(RHEL) 源代码构建的免费开源操作系统,专注于稳定性、安全性和长期支持,广泛应用于服…...

Git实战经验分享:深入掌握git commit --amend的进阶技巧

一、工具简介 git commit --amend是Git版本控制系统的核心补救命令,主要用于修正最近一次提交的元数据。该命令不会产生新的提交记录,而是通过覆盖原提交实现版本历史的整洁性,特别适合在本地仓库进行提交优化。 二、核心应用场景 提交信息…...

基于LSTM与SHAP可解释性分析的神经网络回归预测模型【MATLAB】

基于LSTM与SHAP可解释性分析的神经网络回归预测模型【MATLAB】 一、引言 在数据驱动的智能时代,时间序列预测已成为许多领域(如金融、气象、工业监测等)中的关键任务。长短期记忆网络(LSTM)因其在捕捉时间序列长期依…...

C++卡特兰数讲解

前情提要,参考资料:卡特兰数 - OI Wiki 一、定义 卡特兰数(Catalan number)是一个在组合数学中经常出现的数列,应用范围很广,例如括号匹配问题、出栈顺序问题、多边形三角剖分问题等。在 C 中,可以使用多种…...

【数据融合实战手册·应用篇】“数字孪生+视频融合”让智慧城市拥有空间感知

一、视频融合技术如何破局城市治理? #从"碎片监控"到"上帝视角" 传统视频监控系统画面分散,监管人员需要观看多个分镜头画面,难以将零散的分镜头视频与其实际地理位置对应,容易产生信息孤岛,同时…...

[数据库之十一] 数据库索引之联合索引

执行数据库查询时,通常查询条件是多对个属性进行判断和约束,对于这种类型的查询,如果存在多个索引则使用多个索引,或者使用建立在多属性搜索码上的索引,这样能提高查询效率。 一、使用多个单码索引 假设数据表 instruc…...

【Linux】Linux工具(1)

3.Linux工具(1) 文章目录 3.Linux工具(1)Linux 软件包管理器 yum什么是软件包关于 rzsz查看软件包——yum list命令如何安装软件如何卸载软件补充——yum如何找到要安装软件的下载地址 Linux开发工具Linux编辑器-vim使用1.vim的基…...

微信小程序使用腾讯云COS SDK实现用户头像上传

引入与初始化COS SDK (从官网下载cos-wx-sdk-v5.js文件,本地上传) const COS require(../../../static/utils/cos-wx-sdk-v5.js) as any;//实例化一个cos对象 const cos new COS({SecretId: AK***********************VedSJ, //idSecretK…...

什么是HTML、CSS 和 JavaScript?

HTML、CSS 和 JavaScript 是构建网页的三大核心技术,它们分工明确又紧密协作。接下来我将分别介绍三者的定义、功能,并阐述它们如何共同构成网页,最后推荐学习资源。 一、HTML:网页的骨架与内容基础 HTML(HyperText …...

兼具直连存储与分布式存储优势的混合存储方案

兼具直连存储与分布式存储优势的混合存储方案 一、分层存储架构 ‌热数据本地直存‌ 将高频访问的热数据(如数据库事务日志、实时计算中间结果)存储在DAS本地SSD中利用DAS的低延迟特性提升实时性要求高的业务性能 ‌温冷数据分布式存储‌ 低频访问的温…...

App Store支付新政重构跨境电商生态:eBay卖家的突围之道

2024年4月,美国联邦法院对苹果应用商店支付体系的裁决掀起全球电商海啸。这场源自Epic Games诉讼案的制度变革,正在跨境电商领域掀起超预期的蝴蝶效应。本文将深入剖析政策变革对eBay生态的冲击路径,揭示跨境卖家转型升级的核心策略。 一、支…...

Rust 开发环境搭建与插件

生成完整文章 用户请求写一篇完整的CSDN文章,要求根据之前的建议生成。文章要包含结构清晰、标题、代码示例、常见提示、跨平台Rust工具链安装差异等内容。文章需准确,包括插件和使用提示,CLI程序示例等。主要内容包括:介绍、Rus…...

Axios替代品Alova

介绍alova | Alova.JS Multipart 实体请求 | Axios中文文档 | Axios中文网 1. 极致的轻量与性能 Tree-shaking优化:仅打包使用到的功能模块 零依赖:基础包仅 4KB(Axios 12KB) 2. 智能请求管理(开箱即用&#xff0…...

【C语言】文件操作(续)

目录 复习: 一⽂件的顺序读写 例子: 前言: 在上篇文章中介绍了文件的类型,文件指针,流,操作的函数。 在本篇文章继续为大家带来文件细节分享,如 顺序读写等等。 复习: fopen是…...

Angular 面试常见问题

1. 请阐述 Angular 的工作原理 Angular 的工作流程涉及多个关键环节,从组件交互到浏览器渲染,以下是其核心流程: 组件交互:当用户触发特定事件(如点击按钮)时,组件会响应这些交互,…...

数据库(MySQL)基础

一、登录数据库 在linux系统中登录数据库的指令 mysql -h 127.48.0.236 -P 3306 -u root -p -h:填写IP地址,指明要连接的主机。如果不加该字段表示本地主机-P:填写端口号,指明进程。 如果不加该字段会使用默认的端口号。-u&…...

【Java ee 初阶】文件操作和IO(上)

一、文件 文件在计算机中,是保存到“硬盘”上的。操作系统,把硬盘操作进行了抽象封装,使得编程的时候,是不会直接操作硬盘的,而是通过“文件”的概念来进行间接操作。 文件有哪些操作?——>打开文件&a…...

微信小程序备案的一些记录

小程序如果没有备案是搜索不到小程序的。 小程序备案需要填写主体负责人的信息,需要主体负责人的手机号验证码, 需要填写管理员的信息,同样也需要验证手机号码, 填写完毕之后,提交进行初审,初审之后会打…...

leetcode0279. 完全平方数-medium

1 题目:完全平方数 官方标定难度:中 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1…...

2018机械行业ERP软件发展趋势

随着互联网经济的发展,实体的经济将来很有发展的优势,管理的信息化工具,也要随着市场需求的改变而改变。 以前的ERP管理系统,管理管控的方向。 1、以物料管理为核心,通过ERP管理系统,将企业的物料管理清楚&…...

限制布局大小,实现文本自适应

实现数字部分自适应 适配后 使用页需绑定ref <div class"setting-bind-text" ref"element" :style"{ transform: scale(${scale}) }">{{ coin }}</div> script部分引入使用 import { useTextScale } from /hooks/useTextScale; c…...

涨薪技术|0到1学会性能测试第52课-Tomcat调优技术

前面的推文我们掌握了Tomcat服务器的3种监控技术知识。今天给大家分享Tomcat调优技术。后续文章都会系统分享干货,带大家从0到1学会性能测试。 在对Tomcat进行调优之前,需要对Tomcat的结构体系有一个清楚的了解,这对调优起到至交重要的作用,Tomcat结构体系图,如图10-20所示…...

Arm核的Ubuntu系统上安装Wireshark

Arm核的Ubuntu系统上安装Wireshark 一、安装wireshark 安装命令&#xff1a; sudo apt-get install wireshark-qt 如下图所示&#xff1a; 安装过程弹出如下界面&#xff1a; 鼠标选择Yes&#xff0c;点回车键确认 安装完成。 二、打开wireshark 输入命令行打开wireshark …...

C++模板【上篇】 —详解模板基础语法

文章目录 前言1. 泛型编程2. 模板的类别2.1 函数模板2.2 类模板 3. 模板的实例化3.1 函数模板的实例化3.1.1 隐式实例化* 编译器实例化原理3.1.2 显示实例化 3.2 类模板的实例化 前言 在这篇文章中&#xff0c;主要介绍一些模板的基础的语法和一些细节&#xff0c;同时了解泛型…...

谈谈Redis缓存和数据库一致性

目录 1、缓存问题 2、更新缓存 3、删除缓存 4、最终方案 5、缓存分类 5.1、缓存穿透 5.2、缓存击穿 5.2、缓存雪崩 6、示例 前言 Redis 作为缓存与数据库之间的通信模式能够显著提升系统性能&#xff0c;减少数据库的压力。 通过合理使用 Redis 进行数据存取&#xff…...

JWT深度解析:现代Web身份验证的通行证-优雅草卓伊凡

# JWT深度解析&#xff1a;现代Web身份验证的通行证 ## 一、JWT的本质与构成 ### 1.1 JWT的定义解析 JWT&#xff08;JSON Web Token&#xff09;是一种**开放标准&#xff08;RFC 7519&#xff09;**&#xff0c;用于在各方之间安全地传输信息作为JSON对象。这种信息可以被…...

VTK|.obj文件数据处理+Jet/Viridis/CoolToWarm/Grayscale/Rainbow/风格颜色渲染

文章目录 处理OBJ文件Jet渲染风格Viridis渲染风格CoolToWarm渲染风格Grayscale渲染风格Rainbow渲染风格切换风格按钮槽函数&#xff08;可优化&#xff09;相关代码github链接 将 .obj 数据进行 Elevation 着色并可视化渲染的完整流程 和.ply文件处理方式一样 处理OBJ文件 vo…...

如何通过服务主体获取 Azure 凭据

本文详细讲解如何通过 Azure 服务主体生成凭据,使应用程序能够安全访问 Azure 资源(如部署 Container Apps)。以下步骤基于 Azure Portal 操作,适用于自动化部署、CI/CD 等场景。 步骤 1:登录 Azure Portal 访问 Azure 门户。使用 Azure 账户(需具备订阅管理员权限)登录…...

Kubernetes探针生产环境实战指南

一、探针的本质&#xff1a;应用健康的智能体检系统 想象你的应用是一个高空走钢丝的演员&#xff0c;Kubernetes探针就像三位安全员&#xff1a; 启动探针&#xff1a;检查演员是否站稳&#xff08;应用是否完成初始化&#xff09;就绪探针&#xff1a;确认演员准备好表演&a…...

node.js 实战——express图片保存到本地或服务器(七牛云、腾讯云、阿里云)

本地 ✅ 使用formidable 读取表单内容 npm i formidable ✅ 使用mime-types 获取图片后缀 npm install mime-types✅ js 中提交form表单 document.getElementById(uploadForm).addEventListener(submit, function(e){e.preventDefault();const blob preview._blob;if(!blob)…...

线代第二章矩阵第五、六、七节矩阵的转置、方阵的行列式、方阵的伴随矩阵

文章目录 矩阵的转置转置性质对称矩阵与反对称矩阵 方阵的行列式方阵的伴随矩阵&#xff08;重要&#xff09; 矩阵的转置 转置性质 &#xff08;1&#xff09; &#xff08;2&#xff09; &#xff08;3&#xff09; &#xff08;4&#xff09;注意这个&#xff1a; 扩展&a…...

经验:从CAN到以太网为主的车载网络架构升级

引言 新能源汽车智能化与网联化的进程中&#xff0c;传统CAN总线已难以满足高带宽、低延迟的通信需求&#xff0c;车载以太网逐步成为新一代电子架构的核心骨干。本文基于工程实践&#xff0c;系统性解析车载以太网的核心技术、协议栈、拓扑设计及工具链升级策略&#xff0c;助…...

基于FPGA婴儿安全监护系统(蓝牙小程序监测)

基于FPGA婴儿安全监护系统 前言一、芯片手册阅读二、代码分析1.温湿度驱动2.转速等级设置模块3.电机转速控制模块 总结视频演示 前言 实时监测车内温湿度数据&#xff08;DTH11温湿度模块&#xff09;----实时控制风扇驱动速度&#xff08;结合温湿度进行控制&#xff09;----…...

嵌入式 C 语言控制语句

目录 1. 控制语句 2. 分支语句 2.1 if else 2.2 switch 3. 循环语句 3.1 goto 3.2 while 循环 3.3 do while 循环 3.4 for 循环 3.5 例题 3.6 循环控制语句 3.6.1 break 3.6.2 continue 1. 控制语句 控制语句分为&#xff1a;顺序语句&#xff0c;分支语句&#xff0…...

leaflet-velocity风场粒子效果及数据处理

一&#xff0c;后台给到的数据 {"msg": "success","code": 200,"data": {"startLat": 39.3,"endlat": 41.2,"latdel": 0.099999994,"startLon": 115.3,"endLon": 117.50001,"…...

React 实现 JWT 登录验证的最小可运行示例

下面是一个用 React 实现 JWT 登录验证的最小可运行示例&#xff0c;包含&#xff1a; React 前端&#xff1a;登录、保存 Token、获取用户数据。模拟后端&#xff1a;用 mock API&#xff08;你也可以接真后端&#xff09;。 &#x1f9f1; 技术栈 React&#xff08;使用 Vi…...

MySQL报错解决过程

我在调试datagrip的时候&#xff0c;显示拒绝连接&#xff0c;开始的时候&#xff0c;我以为只是服务没有开启&#xff0c;结果到后来在网上搜索各种解决办法无果后&#xff0c;就选择卸载&#xff0c;卸载之后安装新的MySQL 以下就是我的解决过程。 如果只是在使用外置软件&…...

更多 QVariant 使用案例

以下是 QVariant 的其他典型应用场景及代码示例&#xff0c;涵盖更多实际开发需求&#xff1a; 6. 数据库查询结果处理 处理数据库字段的异构数据类型&#xff08;如整数、字符串、日期等&#xff09;&#xff1a; QSqlQuery query; query.exec("SELECT name, age, crea…...

WPF中解决数据绑定不匹配的问题

在 WPF 开发中&#xff0c;IValueConverter 和 IMultiValueConverter 接口是非常实用的工具&#xff0c;它们允许你在数据绑定过程中对数据进行转换。 IValueConverter 接口示例 IValueConverter 接口用于单值转换&#xff0c;它包含 Convert 和 ConvertBack 两个方法。Conve…...

学习Cesium Entities

🌐 Cesium中的Entities系统趣味学习 📊 Entities系统架构流程图 #mermaid-svg-Lkue5O3gYOkEVSbD {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Lkue5O3gYOkEVSbD .error-icon{fill:#552222;}#mermaid-svg-Lku…...

Spark处理过程-案例数据清洗

&#xff08;一&#xff09;需求说明 准备十条符合包含用户信息的文本文件&#xff0c;每行格式为 姓名,年龄,性别&#xff0c;需要清洗掉年龄为空或者非数字的行。 例如&#xff1a; 张三,25,男 李四,,女 王五,30,男 赵六,a,女 孙七,35,男 周八,40,女 吴九,abc,男 郑十,45,女…...

【AI提示词】马斯洛需求分析专家

提示说明 专业的心理学需求分析专家&#xff0c;熟悉马斯洛需求层次理论及其在不同文化背景下的适用性。 提示词 # Role: 马斯洛需求分析专家## Profile - language: 中文 - description: 专业的心理学需求分析专家&#xff0c;熟悉马斯洛需求层次理论及其在不同文化背景下的…...

【WebRTC-13】是在哪,什么时候,创建编解码器?

Android-RTC系列软重启&#xff0c;改变以往细读源代码的方式 改为 带上实际问题分析代码。增加实用性&#xff0c;方便形成肌肉记忆。同时不分种类、不分难易程度&#xff0c;在线征集问题切入点。 问题&#xff1a;编解码器的关键实体类是什么&#xff1f;在哪里&什么时候…...

Kuikly 安装环境篇

1、安装版本号为2024.1.1 的Android studio&#xff08;如使用高版本的Android studio需要更改JDK版本号为17&#xff09; 2、JDK版本使用17&#xff08;如需要修改JDK&#xff1a;Android Studio -> Settings -> Build,Execution,Deployment -> Build Tools -> Gr…...

npm create vite@latest my-vue-app 解读

背景发荧光的样式。 filter属性的学习&#xff1a;filter - CSS&#xff1a;层叠样式表 | MDN 复习一下em 组件的调用: 是msg让“ViteVue”显示出来的&#xff01;&#xff01; a标签的targte属性&#xff1a; 组件之间怎么传值的&#xff1a; &#xff0c;没看懂code标签怎么…...

【本地搭建npm私服】使用Verdaccio

使用Verdaccio搭建本地NPM私服及私有包管理指南 一、Verdaccio安装与基础配置 1. 安装Verdaccio # 全局安装Verdaccio npm install -g verdaccio# 检查版本 verdaccio --version2. 启动服务 verdaccio启动后默认监听4873端口&#xff0c;访问 http://localhost:4873 3. 配…...

Chroma:一个开源的8.9B文生图模型

Chroma 模型讲解 一、模型概述 Chroma 是一个基于 FLUX.1-schnell 的 8.9B 参数模型。它采用了 Apache 2.0 许可证&#xff0c;完全开源&#xff0c;允许任何人使用、修改和在其基础上进行开发&#xff0c;不存在企业限制。该模型目前正在训练中&#xff0c;训练数据集从 20M…...

量子通信技术及其在信息安全中的应用:开启无条件安全通信的新时代

前言 在数字化时代&#xff0c;信息安全是全球关注的焦点。随着传统加密技术面临量子计算等新兴技术的挑战&#xff0c;量子通信作为一种基于量子力学原理的新型通信技术&#xff0c;因其无条件安全的特性而备受关注。量子通信不仅能够有效抵御量子计算的威胁&#xff0c;还能为…...

【杂谈】Godot 2D游戏窗口设置

如切如磋&#xff0c;如琢如磨。 目录 一、引言二、设置&#xff08;一&#xff09;基本尺寸&#xff08;二&#xff09;拉伸&#xff08;三&#xff09;手持设备朝向&#xff08;四&#xff09;​​窗口模式​​ 一、引言 在开发2D游戏时&#xff0c;​​窗口尺寸的设定是游戏…...

MySQL 8.0 OCP认证考试题库持续更新

MySQL是属于甲骨文Oracle公司的一个世界知名的免费数据库产品&#xff0c;使用的范围广、企业多、人员也多&#xff0c;所以对MySQL认证关注的人也不少&#xff0c;MySQL的证书与Oracle的证书使用的是同一个模板&#xff0c;只是在内部的介绍上稍有不同&#xff0c;MySQL认证考…...