Zabbix介绍与安装

news2025/1/9 1:09:56

目录

一、概述

二、zabbix的主要功能

三、zabbix监控原理

四、Zabbix 监控模式

五、zabbix的架构

server-client

server-proxy-client

master-node-client

六、zabbix的安装

安装zabbix服务端

安装zabbix客户端

测试zabbix

1、在 Web 页面中添加 agent 主机点击左边菜单栏【配置】中的【主机】,点击【创建主机】​编辑

2、创建模板

3、创建应用集(用于管理监控项的)

4、创建监控项

5、创建触发器(当监控项获取到监控的值后和触发器预设的值进行对比,判断是否报警)

6、创建图形

7、将主机与模板关联起来(一个主机可以关联多个模板)

8、此时就点击【监测】中的【主机】,点击你关联主机的【图形】,即可查看到相关的监控项指标

9、报警媒介类型

10、报警媒介

12、动作

13、//测试邮件报警

生成授权码方法:


一、概述

zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix 由 2 部分构成,zabbix server 与可选组件 zabbix agent。通过 C/S 模式采集数据,通过 B/S 模式在 Web 端展示和配置。

zabbix server 可以通过 SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能, 它可以运行在 Linux 等平台上。

zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU 等信息的收集。

总结:是一个开源的IT基础监控软件,能实时监控网络服务,服务器和网络设备的状态,如网络使用,CPU负载、磁盘空间等,主要是包括数据的收集、报警和通知的可视化界面

zabbix server port 端口号为10051

zabbix agent port 端口号为10050

二、zabbix的主要功能

(1)监控CPU负载

(2)内存使用

(3)硬盘使用

(4)网络状态

(5)端口监视

(7)日志监视

(8)插件开发自定义

三、zabbix监控原理

zabbix agent安装在被监控的主机上,zabbix agent负责定期收集客户端本地各项数据,并发送至 zabbix server 端,zabbix server 收到数据后,将数据存储到数据库中,用户基于 Zabbix WEB 可以看到数据在前端展现图像。当 zabbix 监控某个具体的项目, 该项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(shell 命令、reboot、restart、install 等)。

数据收集

数据存储

告警

展示

自动化操作

四、Zabbix 监控模式

主动监控:agent端向server发起连接

zabbix agent,主动向zabbix server端发起请求,发送监控项列表,并且主动将监控内需要的数据提交给zabbix server

被动监控:server端向agent端发起连接

zabbix server 向agent端,请求获取监控项的数据,zabbix agent返回数据,可以看出zabbix主动和被动模式,是以zabbix客户端为基准的

总结:

被动模式:由zabbix server向agent发出指令,获取数据,zabbix agent被动的去获取数据,并返回给zabbix server,zabbix server端周期性的向agent索取数据,这种模式的最大的问题就是加大zabbix server 的工作量,在数百台服务器的环境下,zabbix server 端不能能及时获取到最新的数据,但这也是默认的工作方式。

主动模式:由zabbix agent主动采集数据并返回给zabbix server,不再需要zabbix server进行干预,因此主动模式在一定程度上,可减轻zabbix server的压力。

五、zabbix的架构

server-client

最简单的架构,监控机器和被监控机器之间不经过任何处理,直接由server和agent之间进行数据交换。适用于网络比较简单,尽量在局域网内,涉及比较少的监控。

server-proxy-client

其中proxy是server、client之间沟通的一个桥梁,proxy本身没有前端,而其本身也并不存放数据,只是将agent发来的数据暂时存放,而后再提交给server。该架构经常是和master-node-client作比较,一般适用于跨机房、跨网络的中型网络架构。

master-node-client

是zabbix最复杂的监控架构,适用于跨网络、跨机房设备较多的大型环境。每个node同时有server端,node下面可以接proxy代理,也可以直接接client,node有自己的配置文件和数据库,其要做的是将配置信息和监控数据向master同步,master故障或损坏,对node其下架构的完整性

六、zabbix的安装

主机名ip地址
192.168.11.13 / zabbix-server/zabbix192.168.11.13
192.168.11.12 zabbix-agent01192.168.11.12

代码示例:

-------------------- 安装 zabbix 5.0 --------------------

---------- 部署 zabbix 服务端 ----------
zabbix-server 内存至少 2G,推荐 4G;

systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-server

//获取 zabbix 的下载源
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 

//更换 zabbix.repo 为阿里源
cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repo

yum clean all && yum makecache

yum install -y zabbix-server-mysql zabbix-agent

//安装SCL(Software Collections),便于后续安装高版本的 php,默认 yum 安装的 php 版本为 5.4,版本过低,zabbix 5.0 版本对 php 版本最低要 7.2.0 版本。SCL 可以使得在同一台机器上使用多个版本的软件,而又不会影响整个系统的依赖环境。软件包会安装在 /opt/rh 目录下。

yum install -y centos-release-scl 

//修改 zabbix-front 前端源,安装 zabbix 前端环境到 scl 环境下
vim zabbix.repo
......
[zabbix-frontend]
......
enabled=1          #开启安装源
......

yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl

//安装 zabbix 所需的数据库
yum install -y mariadb-server mariadb

systemctl enable --now mariadb

mysql_secure_installation         #初始化数据库,并设置密码,如 abc123

//添加数据库用户,以及 zabbix 所需的数据库信息
mysql -u root -pabc123

CREATE DATABASE zabbix character set utf8 collate utf8_bin;
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
flush privileges;

//导入数据库信息
rpm -ql zabbix-server-mysql 		#查询 sql 文件的位置

zcat /usr/share/doc/zabbix-server-mysql-5.0.24/create.sql.gz | mysql -uroot -pabc123 zabbix

//修改 zabbix server 配置文件,修改数据库的密码
vim /etc/zabbix/zabbix_server.conf 
......
DBPassword=zabbix					#124行,指定 zabbix 数据库的密码

//修改 zabbix 的 php 配置文件
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
......
php_value[date.timezone] = Asia/Shanghai		#24行,取消注释,修改时区

//启动 zabbix 相关服务
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

浏览器访问:http://192.168.10.20/zabbix
点击下一步,设置数据库的密码 zabbix
安装完成后,默认的登录账号和密码为:Admin/zabbix
设置文件界面:点击左边菜单栏的【User settings】,【Language】选择 Chinese(zh_CN),再点击 Update 更新。

//解决 zabbix-server Web页面中文乱码问题
yum install -y wqy-microhei-fonts

\cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf


---------- 部署 zabbix 客户端 ----------
zabbix 5.0 版本采用 golang 语言开发的新版本客户端 agent2 。
zabbix 服务端 zabbix_server 默认使用 10051 端口,客户端 zabbix_agent2 默认使用 10050 端口。


systemctl disable --now firewalld
setenforce 0
 

//服务端和客户端都配置时间同步
yum install -y ntpdate
ntpdate -u ntp.aliyun.com

//客户端配置时区,与服务器保持一致
mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

date

//设置 zabbix 的下载源,安装 zabbix-agent2
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 

cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

yum install -y zabbix-agent2

//修改 agent2 配置文件
vim /e
......tc/zabbix/zabbix_agent2.conf
Server=192.168.10.22			#80行,指定 zabbix 服务端的 IP 地址
ServerActive=192.168.10.22		#120行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-agent01			#131行,指定当前 zabbix 客户端的主机名

//启动 zabbix-agent2
systemctl start zabbix-agent2
systemctl enable zabbix-agent2

netstat -natp | grep zabbix
tcp6       0      0 :::10050                :::*                    LISTEN      43654/zabbix_agent2 

//在服务端验证 zabbix-agent2 的连通性
yum install -y zabbix-get				#安装 zabbix 主动获取数据的命令

zabbix_get -s '192.168.10.21' -p 10050 -k 'agent.ping'
1

zabbix_get -s '192.168.10.21' -p 10050 -k 'system.hostname'
zbx-agent01


//在 Web 页面中添加 agent 主机
点击左边菜单栏【配置】中的【主机】,点击【创建主机】
【主机名称】设置成 zbx-agent01
【可见的名称】设置成 zbx-agent01-192.168.11.12
【群组】选择 Linux server
【Interfaces接口】的【IP地址】设置成 192.168.10.21

再点击上方菜单栏【模板】
【Link new tamplates链接新模板】搜索 Linux ,选择 Template OS Linux by Zabbix agent
点击 【添加】

自定义脚本监控 https://kaikai136.blog.csdn.net/article/details/111309497?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-111309497-blog-123223449.pc_relevant_paycolumn_v3&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-111309497-blog-123223449.pc_relevant_paycolumn_v3&utm_relevant_index=1

---------- 自定义监控内容 ----------
案列:自定义监控客户端服务器登录的人数
需求:限制登录人数不超过 3 个,超过 3 个就发出报警信息

//在客户端创建自定义 key
1.明确需要执行的 linux 命令
who | wc -l

2.创建 zabbix 的监控项配置文件,用于自定义 key
vim /etc/zabbix/zabbix_agent2.conf
#可以将自定义的监控项配置文件创建在 zabbix_agent2.d 目录中
268 Include=/etc/zabbix/zabbix_agent2.d/*.conf
#自定义监控项的格式如下
291 #	Format: UserParameter=<key>,<shell command>

cd /etc/zabbix/zabbix_agent2.d/

vim UserParameter_login.conf
UserParameter=login.user,who|wc -l

systemctl restart zabbix-agent2

3.在服务端验证新建的监控项
zabbix_get -s '192.168.10.21' -p 10050 -k 'login.user'


//在 Web 页面创建自定义监控项模板
1.创建模板
点击左边菜单栏【配置】中的【模板】,点击【创建模板】
【模板名称】设置成 Template Login User
【可见的名称】设置成 Template Login User
【群组】选择 Template
【描述】可自定义
点击 【添加】,此时就可在【链接的模板】中搜索到 Template Login User 了

2.创建应用集(用于管理监控项的)
点击上方菜单栏【应用集】,点击【创建应用集】
【名称】设置成 Login User
点击 【添加】

3.创建监控项
点击上方菜单栏【监控项】,点击【创建监控项】
【名称】设置成 Number of login users
【键值】设置成 login.user			#键值必须要与自定义的监控项配置文件中设置的保持一致
【更新间隔】设置成 10s
【历史数据保留时长】Storage period	30d		#保留时间可自定义设置
点击 【添加】

4.创建触发器(当监控项获取到监控的值后和触发器预设的值进行对比,判断是否报警)
点击上方菜单栏【触发器】,点击【创建触发器】
【名称】设置成 Number of login users is greater than 3
【严重性】设置成 一般严重
【表达式】点击添加,【监控项】点击选择 Number of login users,【功能】选择 last(),【结果】选择 > 3,点击 【插入】
点击 【添加】

5.创建图形
点击上方菜单栏【图形】,点击【创建图形】
【名称】设置成 Number of login users
【宽】、【高】可直接采用默认值
【监控项】点击添加勾选相关监控项 Number of login users,【功能】选择 最大,其它可保持默认值
点击 【添加】

6.将主机与模板关联起来(一个主机可以关联多个模板)
点击左边菜单栏【配置】中的【主机】,点击你要关联的主机
点击上方菜单栏【模板】,【Link new tamplates链接新模板】搜索 login,选择 Template Login User,点击【更新】

此时就点击【监测】中的【主机】,点击你关联主机的【图形】,即可查看到相关的监控项指标

7.设置邮件报警
点击左边菜单栏【管理】中的【报警媒介类型】,点击【创建媒体类型】
【名称】设置成 qq_Email
【SMTP服务器】设置成 smtp.qq.com
【SMTP服务器端口】设置成 25
【SMTP HELO】设置成 qq.com
【SMTP电邮】设置成 自己的邮箱地址,例如 124481457@qq.com
【认证】选择 用户名和密码
【用户名称】设置成 自己的邮箱地址,例如 124481457@qq.com
【密码】可登录QQ邮箱页面,点击【设置】-->【账户】中的【生成授权码】,通过短信获取授权码
【描述】可自定义                        
点击上方菜单栏【Message templates】,点击【添加】,【Message type消息类型】选择 问题,点击【更新】
点击 【添加】,并测试功能

点击左边菜单栏【User settings用户设置】-->【报警媒介】,点击【添加】
【类型】选择 qq_Email
【收件人】最后报警的邮件会发送到此邮箱中,样例设置成 960027936@139.com
【当启用时】设置成 1-7,00:00-24:00
点击 【添加】
再点击 【更新】

点击左边菜单栏【配置】中的【动作】,选择相对应的动作名称,点击【启用】

//测试邮件报警
增加测试客户端的用户登录数超过触发器预设的值,查看【监测】-->【仪表盘】,确认报警

安装zabbix服务端

 ​​​​

 

 

 

 

 

 

安装zabbix客户端

 

 

 

 

 

 

 

测试zabbix

1、在 Web 页面中添加 agent 主机
点击左边菜单栏【配置】中的【主机】,点击【创建主机】

2、创建模板

 在 Web 页面创建自定义监控项模板
点击左边菜单栏【配置】中的【模板】,点击【创建模板】
【模板名称】设置成 Template Login User
【可见的名称】设置成 Template Login User
【群组】选择 Template
【描述】可自定义
点击 【添加】,此时就可在【链接的模板】中搜索到 Template Login User 了

 

3、创建应用集(用于管理监控项的)


点击上方菜单栏【应用集】,点击【创建应用集】
【名称】设置成 Login User
点击 【添加】

 

4、创建监控项


点击上方菜单栏【监控项】,点击【创建监控项】
【名称】设置成 Number of login users
【键值】设置成 login.user            #键值必须要与自定义的监控项配置文件中设置的保持一致
【更新间隔】设置成 10s
【历史数据保留时长】Storage period    30d        #保留时间可自定义设置
点击 【添加】

 

5、创建触发器(当监控项获取到监控的值后和触发器预设的值进行对比,判断是否报警)

点击上方菜单栏【触发器】,点击【创建触发器】
【名称】设置成 Number of login users is greater than 3
【严重性】设置成 一般严重
【表达式】点击添加,【监控项】点击选择 Number of login users,【功能】选择 last(),【结果】选择 > 3,点击 【插入】
点击 【添加】

 

6、创建图形


点击上方菜单栏【图形】,点击【创建图形】
【名称】设置成 Number of login users
【宽】、【高】可直接采用默认值
【监控项】点击添加勾选相关监控项 Number of login users,【功能】选择 最大,其它可保持默认值
点击 【添加】

 

7、将主机与模板关联起来(一个主机可以关联多个模板)


点击左边菜单栏【配置】中的【主机】,点击你要关联的主机
点击上方菜单栏【模板】,【Link new tamplates链接新模板】搜索 login,选择 Template Login User,点击【更新】

 

8、此时就点击【监测】中的【主机】,点击你关联主机的【图形】,即可查看到相关的监控项指标

 

9、报警媒介类型


点击左边菜单栏【管理】中的【报警媒介类型】,点击【创建媒体类型】
【名称】设置成 qq_Email
【SMTP服务器】设置成 smtp.qq.com
【SMTP服务器端口】设置成 25
【SMTP HELO】设置成 qq.com
【SMTP电邮】设置成 自己的邮箱地址,例如 124481457@qq.com
【认证】选择 用户名和密码
【用户名称】设置成 自己的邮箱地址,例如 124481457@qq.com
【密码】可登录QQ邮箱页面,点击【设置】-->【账户】中的【生成授权码】,通过短信获取授权码
【描述】可自定义                        
点击上方菜单栏【Message templates】,点击【添加】,【Message type消息类型】选择 问题,点击【更新】
点击 【添加】,并测试功能
 

 

10、报警媒介

点击左边菜单栏【User settings用户设置】-->【报警媒介】,点击【添加】
【类型】选择 qq_Email
【收件人】最后报警的邮件会发送到此邮箱中,样例设置成 960027936@139.com
【当启用时】设置成 1-7,00:00-24:00
点击 【添加】
再点击 【更新】

12、动作

点击左边菜单栏【配置】中的【动作】,选择相对应的动作名称,点击【启用】 

13、//测试邮件报警


增加测试客户端的用户登录数超过触发器预设的值,查看【监测】-->【仪表盘】,确认报警

 去邮箱中查看即可

生成授权码方法:

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

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

相关文章

SystemC入门学习-第3章 数据类型

本章将详细的描述SystemC的数据类型&#xff0c;并介绍这些类型的数据可以进行哪些操作。比如值保持器&#xff08;value holder&#xff09;就是一种特殊的类型。在所有的类型中&#xff0c;最重要的是bool和sc_uint两种类型 3.1 值保持器 值保持器有三种&#xff1a; 变量…

如何管理销售团队?

本文将为大家讲解&#xff1a;如何管理销售团队&#xff1f; 销售团队的管理是企业成功的关键因素之一。一个高效、协同的销售团队可以推动企业的增长&#xff0c;增强市场竞争力。然而&#xff0c;销售团队的管理并不是一件容易的事情&#xff0c;它涉及多个方面的协调和优化…

Verilog开源项目——百兆以太网交换机(二)AES加解密模块设计

Verilog开源项目——百兆以太网交换机&#xff08;二&#xff09;AES加解密模块设计 &#x1f508;声明&#xff1a;未经作者允许&#xff0c;禁止转载 &#x1f603;博主主页&#xff1a;王_嘻嘻的CSDN主页 &#x1f511;全新原创以太网交换机项目&#xff0c;Blog内容将聚焦整…

基于微信小程序的投票系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言用户微信小程序的主要功能有&#xff1a;管理员的主要功能有&#xff1a;具体实现截图论文参考为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,C…

Vue.js路由及Node.js的入门使用---超详细

一&#xff0c;Vue路由 1.1 路由是什么 路由是用来管理应用程序中不同页面之间导航的概念。Vue Router是Vue.js官方提供的路由管理器&#xff0c;它允许我们通过定义路由规则和视图组件来配置路由 1.2 路由给我们带来的好处有哪些&#xff1f; 单页应用&#xff08;Single Pag…

Springboot整合jdbc和Mybatis

目录 整合jdbc 1. 新建项目 2. 编写yaml配置文件连接数据库 3. 测试类 使用原生的jdbcTemplate进行访问测试 使用Druid连接池 1. 添加类型 2. 初始化连接池 3. 编写config类 配置Druid数据源监视 整合Mybatis 1. 导入依赖 2. 编写mapper接口 3. 编写实体类 4. 编…

GLTF编辑器的另一个作用

1、GLB模型介绍 GLB&#xff08;GLTF Binary&#xff09;是一种用于表示三维模型和场景的文件格式。GLTF是"GL Transmission Format"的缩写&#xff0c;是一种开放的、跨平台的标准&#xff0c;旨在在各种3D图形应用程序和引擎之间进行交换和共享。 GLB文件是GLTF文件…

MySQL数据库详解 二:数据库的高级语句(高级查询语句)

文章目录 1. 克隆表 ---- 将数据表的数据记录生成到新的表中1.1 方式一&#xff1a;先创建新表&#xff0c;再导入数据1.2 方式二&#xff1a;创建的时候同时导入 2. 清空表 ---- 删除表内的所有数据2.1 delete删除2.2 truncate删除&#xff08;重新记录&#xff09;2.3 创建临…

别着急,解决不了的问题,就请交给时间吧

转眼间我走出社会已过去四年之久&#xff0c;但很多事依旧历历在目&#xff0c;就好像昨天发生的一样。 我小时候&#xff0c;因为一场医学事故患有先天性白内障&#xff0c;真的是连黑板的看不清&#xff0c;当时自己也不太懂事&#xff0c;上课对我来说就是画画以及一切能够消…

保姆级 Keras 实现 Faster R-CNN 十三 (训练)

保姆级 Keras 实现 Faster R-CNN 十三 训练 一. 将 Faster R-CNN 包装成一个类二. 修改模型结构1. 修改 input_reader 函数2. 增加 RoiLabelLayer 层 三. 损失函数1. 自定义损失函数2. 自定义精度评价函数 四. 模型编译五. 模型训练六. 预训练模型七. 保存模型与参数八. 代码下…

更新、修改

MySQL从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129334507?spm1001.2014.3001.5502 语法: update 表名 列名该列新值, 列名该列新值, ... where 记录匹配条件; 说明&#xff1a;update 更新、修改 set 设置 …

通讯网关软件011——利用CommGate X2ODBC实现DDE数据转入ODBC

本文介绍利用CommGate X2ODBC实将DDE数据源中的数据转入到ODBC数据源。CommGate X2ODBC是宁波科安网信开发的网关软件&#xff0c;软件可以登录到网信智汇(http://wangxinzhihui.com)下载。 【案例】如下图所示&#xff0c;将DDE数据源&#xff08;如Excel&#xff09;的数据写…

【软件设计师-从小白到大牛】下午题基础篇:第一章 数据流图(DFD)

文章目录 前言章节提要一、数据流图基本概念二、数据流图的分层&#xff08;DFD&#xff09;三、数据字典四、数据流图平衡原则五、答题技巧问题一问题二问题三问题四 六、案例分析1、案例12、案例2 前言 ​ 本系列文章为观看b站视频以及b站up主zst_2001系列视频所做的笔记&…

DAZ To UMA⭐一.DAZ简单使用教程

文章目录 &#x1f7e5; DAZ快捷键&#x1f7e7; DAZ界面介绍 &#x1f7e5; DAZ快捷键 移动物体:ctrlalt鼠标左键 旋转物体:ctrlalt鼠标右键 导入模型:双击左侧模型UI &#x1f7e7; DAZ界面介绍 Files:显示全部文件 Products:显示全部产品 Figures:安装的全部人物 Wardrobe…

Floyd算法基础

弗洛伊德算法(Floyd) 之前介绍了迪杰斯特拉算法(Dijkstra)。具体请看&#xff1a;最短路径算法——简单明了的迪杰斯特拉算法(Dijkstra)。Dijkstra适用于非负权图&#xff0c;并且一次只能从网络中找源点到任何一个节点的最短路径&#xff0c;而Floyd算法的应用更加广泛&#…

基于vue的黑马前端项目小兔鲜

目录 项目学习 初始化项目 建立项目 引入elementplus elementPlus主题设置 配置axios 路由 引入静态资源 自动导入scss变量 Layout页 组件结构快速搭建 字体图标渲染 一级导航渲染 吸顶导航交互实现 Pinia优化重复请求 Home页 分类实现 banner轮播图 …

vue变量赋值中文,但是输出为乱码,解决办法

很奇怪&#xff0c;展示出来为乱码 来看代码输出 控制台的输出也是乱码 这是因为文件编码问题&#xff0c;可以看到我使用的编码不对 更改一下编码 要选择UTF-8 保存之后重新运行&#xff0c;就可以看到正确显示啦&#xff01;

JavaScript学习笔记05

JavaScript笔记05 操作 BOM 对象&#xff08;重点&#xff09; 什么是 BOM BOM&#xff08;Browser Object Model&#xff09;是指浏览器对象模型&#xff0c;是用于描述这种对象与对象之间层次关系的模型。浏览器对象模型&#xff08;BOM&#xff09;提供了独立于内容的、可…

分享一个java+springboot+vue校园电动车租赁系统(源码、调试、开题、lw)

&#x1f495;&#x1f495;作者&#xff1a;计算机源码社 &#x1f495;&#x1f495;个人简介&#xff1a;本人七年开发经验&#xff0c;擅长Java、Python、PHP、.NET、微信小程序、爬虫、大数据等&#xff0c;大家有这一块的问题可以一起交流&#xff01; &#x1f495;&…