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

从小白到大神之路之学习运维第67天-------Tomcat应用服务 WEB服务

第三阶段基础

时  间:2023年7月25日

参加人:全班人员

内  容:

Tomcat应用服务 WEB服务

目录

一、中间件产品介绍

二、Tomcat软件简介

三、Tomcat应用场景

四、安装配置Tomcat

五、配置目录及文件说明

(一)tomcat主目录介绍

(二)Tomcat的脚本文件

(三)webapps目录介绍

六、Tomcat主配置文件说明

server.xml的结构构成:

Server.xml主要参数说明:

host参数详解:

Context参数说明

请求处理流程

处理流程:

七、自定义首页信息:

八、Nginx+Tomcat 负载均衡集群部署:

Nginx代理介绍

1、代理概述

2、正向代理

3、反向代理

安装部署:

九、Tomcat连接数据库:

十、Tomcat配置SSL加密


一、中间件产品介绍

目前来说IBM的WebSphere,Oracle的Weblogic占据了市场上Java语言Web站点的部分份额,该两种软件由于无与伦比的性能及可靠性等优势被广泛应用于大型互联网公司的Web场景中,但是其高昂的价格也使得中小型互联网公司对此望而却步。

Tomcat自5.x版本以来,其性能上已经得到很大幅度的提升,加上其开放性的框架和二次开发等特性,已经完全可以用在访问量不是很大的生产环境下,目前大多数用于JSP技术开发的电子商务网站基本上都应用了Tomcat。

中间件产品:RedHat JBoss、Oracle Tuxedo、caucho Resin。

二、Tomcat软件简介

Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。

Tomcat最初是由Sun的软件构架师詹姆斯·邓肯·戴维森开发的。后来他将其变为开源项目,并由Sun贡献给Apache软件基金会。由于大部分开源项目O'Reilly都会出一本相关的书,并且将其封面设计成某个动物的素描,因此他希望将此项目以一个动物的名字命名。因为他希望这种动物能够自己照顾自己,最终,他将其命名为Tomcat(公猫)。而O'Reilly出版的介绍Tomcat的书籍的封面也被设计成了一个公猫的形象。而Tomcat的Logo兼吉祥物也被设计成了一只公猫。

其实Tomcat最早在开始研发的时候并不叫这个名字,早期的Tomcat的Logo项目的名字叫Catalina,所以当我们安装完Tomcat后会发现安装路径下有很多Catalina有关的目录和文件。这些文件是我们配置或使用Tomcat的重要文件所在。

三、Tomcat应用场景

Tomcat服务器是一个免费的开放源代码的web应用服务器,属于轻量级应用服务器,应用在中小型系统和并发访问用户不是很多的场合,是开发和调试JSP页面的首选,Tomcat也可处理静态的HTML页面但是能力不及Apache或Nginx,所以Tomcat通常作为一个servlet和JSP容器,单独运行在后端。

Tomcat官网: http://tomcat.apache.org

 

四、安装配置Tomcat

实验环境:(四台服务器)

服务器

huyang1

toncat8

192.168.59.137

huyang2

tomcat8

192.168.59.138

huyang3

nginx

192.168.59.140

huyang4

mariadb

192.168.59.142

安装tomcat服务:

环境配置:

1、关闭防火墙

systemctl stop firewalldiptables -Fsetenforce 0

2、上传软件包,检查java环境,没有的需要安装jdk

部 署:

3、解包tar xf apache-tomcat-8.5.16.tar.gz

4、启动服务/usr/local/tomcat8/startup.sh

验  证:

客户端访问:192.168.59.137:8080

 

五、配置目录及文件说明

(一)tomcat主目录介绍

bin //存放windows或linux平台上启动或关闭的

(二)Tomcat的脚本文件

conf //存放Tomcat的各种全局配置文件,其中最主要的是server.xml和web.xmllib //存放Tomcat运行需要的库文件(JARS)logs //存放Tomcat执行时的LOG文件webapps //Tomcat的主要Web发布目录、类似于nginx的html(包括应用程实例)work //存放jsp编译后产生的.class文件temp //存放临时文件

(三)webapps目录介绍

docs //tomcat帮助文档examples //web应用实例host-manager //主机管理manager //管理ROOT //默认站点根目录catalina.policy   //权限控制配置文件catalina.properties //Tomcat属性配置文件context.xml   //context用于指定额外的web目录logging.properties  //日志log相关配置文件server.xml   //主配置文件tomcat-users.xml   //manager-gui管理用户配置文件(Tomcat安装后生成的管理界面,该文件可开启访问)web.xml //Tomcat的servlet,servlet-mapping,filter,MIME等相关配置

六、Tomcat主配置文件说明

server.xml 主要配置文件,可修改启动端口,设置网站根目录,虚拟主机,多实例、开启https加密等功能。

server.xml的结构构成:

 

Server.xml主要参数说明:

组件名称

功能介绍

server

表示一个运行于JVM中的tomcat实例。

service(服务)

将connector关联至engine,因此一个service内部可以有多个connector,但只能有一个引擎engine,负责处理所有Connector所获得的客户请求。service内部有两个connector,一个engine。因此,一般情况下一个server内部只有一个service,一个service内部只有一个engine,但一个service内部可以有多个connector。

connector

接收用户请求,类似于httpd的listen配置监听端口的。

一个Connector在某个指定端口上侦听客户请求,并将获得的请求交给Engine来处理,从Engine处获得回应并返回客户。

Tomcat Engine有两个典型的Connector,一个直接侦听来自browser的http请求,一个侦听来自其他webserver的请ote Http/1.1 Connector在端口8080处侦听来自客户Browser的http请求。

Coyote JK2 Connector在端口8009处侦听来自其他webserver(Apache)的servlet/jsp代理请求。

engine

核心容器组件,catalina引擎,负责通过connector接收用户请求,并处理请求,将请求转至对应的虚拟主机host。

Engine有一个默认的虚拟主机,当请求无法匹配到任何一个Host上的时候,将交给该默认Host来处理。

host

代表一个Virtual Host,虚拟主机,每个虚拟主机和某个网络域名Domain Name相匹配

每个虚拟主机下都可以部署(deploy)一个或者多个Web app,每个web app 对应一个Context,有一个Context path。

当Host获得一个请求时,将把该请求匹配到某个Context上,然后把该请求交给该Context来处理,匹配的方法是最长匹配,所以一个path==“”的Context将成为该Host的默认Context匹配。

所有无法和凄然Context的路径名匹配的请求都将最终和该默认Context匹配。

context

定义一个应用程序,是一个最内层的容器类组件(不能再嵌套)。配置context的主要目的指定对应对的webapp的根目录,类似于httpd的alias,其还能为webapp指定额外的属性,如部署方式等。

realm

可以用于任意容器类的组件中,关联一个用户认证库,实现认证和授权。可以关联的认证库有两种:UserDatabaseRealm、MemoryRealm和JDBCRealm。

UserDatabaseRealm

使用JNDI自定义的用户认证库。

MemoryRealm

认证信息定义在tomcat-users.xml中。

JDBCRealm

认证信息定义在数据库中,并通过JDBC连接至数据库中查找认证用户。

host参数详解:

参数

参数说明

host

表示一个虚拟主机

name

指定主机名(域名)

appBase

应用程序基本目录,即存放应用程序的目录.一般为appBase="webapps" ,相对于CATALINA_HOME而言的,也可以写绝对路径。

unpackWARs

如果为true,则tomcat会自动将WAR文件解压,否则不解压,直接从WAR文件中运行应用程序

autoDeploy

在tomcat启动时,是否自动部署。

xmlValidation

是否启动xml的校验功能,一般xmlValidation="false"。

xmlNamespaceAware

检测名称空间,一般xmlNamespaceAware="false"。

Context参数说明

参数

参数说明

Context

表示一个web应用程序加载位置,通常为WAR文件位置

docBase

应用程序的路径或者是WAR文件存放的路径,也可以使用相对路径,起始路径为此Context所属Host中appBase定义的路径。

path

表示此web应用程序的url的前缀,这样请求的url为http://localhost:8080/path/****

reloadable

这个属性非常重要,如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,可以在不重启tomcat的情况下改变应用程序

请求处理流程

处理流程:

用户发送请求到WEB服务器,该请求会被正在监听的Connector连接器接收,并把该请求交给Service下的Engine来处理,并等待Engine处理的结果。

Engine获得请求后会根据请求的主机信息来匹配相应的Host主机,Host主机会根据请求的路径匹配对应的Context,Context web应用匹配上之后就构建request、response请求对象,调用指定的Servlet来处理请求。

请求处理完成后会将response对象返回给Host主机,Host主机将response对象返回给Engine引擎,Engine再将response对象返回给Connector链接器,最后Connector连接器将response返回给浏览器。

七、自定义首页信息:

例:

1、创建信息文件存放位置

mkdir -pv /web/webapp

2、创建测试页面

vim /web/webapp/index.jsp

配置如下:

3、修改Tomcat的server.xml文件

vim /usr/local/tomcat8/conf/server.xml

配置如下:

4、重启服务,客户端登录验证

八、Nginx+Tomcat 负载均衡集群部署:

Nginx代理介绍

Nginx 服务器的反向代理服务是其最常用的重要功能,由反向代理服务也可以衍生出很多与此相关的 Nginx 服务器重要功能,比如后面会介绍的负载均衡。

当然在了解反向代理之前,我们需要先知道什么是代理以及什么是正反向代理。

1、代理概述

举一个现实生活中的例子:

比如我们要买一间二手房,虽然我们可以自己去找房源,但是这太花费时间精力了,而且房屋质量检测以及房屋过户等一系列手续也都得我们去办,再说现在这个社会,等我们找到房源,说不定房子都已经涨价了,那么怎么办呢?最简单快捷的方法就是找二手房中介公司(为什么?别人那里房源多啊),于是我们就委托中介公司来给我找合适的房子,以及后续的质量检测过户等操作,我们只需要选好自己想要的房子,然后交钱就行了。

代理简单来说,就是如果我们想做什么,但又不想直接去做,那么这时候就找另外一个人帮我们去做。那么这个例子里面的中介公司就是给我们做代理服务的,我们委托中介公司帮我们找房子。

Nginx 主要能够代理如下几种协议,其中用到的最多的就是做Http代理服务器。

2、正向代理

  弄清楚什么是代理了,那么什么又是正向代理呢?

这里我再举一个例子:

大家都知道,现在国内是访问不了 Google的,那么怎么才能访问 Google呢?我们又想,美国人不是能访问 Google吗(这不废话,Google就是美国的),如果我们电脑的对外公网 IP 地址能变成美国的 IP 地址,那不就可以访问 Google了。你很聪明,VPN 就是这样产生的。我们在访问 Google 时,先连上 VPN 服务器将我们的 IP 地址变成美国的 IP 地址,然后就可以顺利的访问了。

 这里的 VPN 就是做正向代理的。正向代理服务器位于客户端和服务器之间,为了向服务器获取数据,客户端要向代理服务器发送一个请求,并指定目标服务器,代理服务器将目标服务器返回的数据转交给客户端。这里客户端是要进行一些正向代理的设置的。

3、反向代理

反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。

  下面我们通过两张图来对比正向代理和方向代理:

  理解这两种代理的关键在于代理服务器所代理的对象是什么,正向代理代理的是客户端,我们需要在客户端进行一些代理的设置。而反向代理代理的是服务器,作为客户端的我们是无法感知到服务器的真实存在的。

反向代理和正向代理的区别就是:正向代理代理客户端,反向代理代理服务器。

一台Tomcat站点由于可能出现单点故障及无法应付过多客户复杂多样的请求等问题,不能单独应用于生产环境下,所以需要一套可靠的解决方案来完善web站点架构。

Nginx 是一款非常优秀的http服务器软件,它能够支持高达50000个并发连接数的响应,拥有强大的静态资源处理能力,运行稳定,并且内存,CPU等系统资源消耗非常低,  

目前很多大型网站都用Nginx服务器做后端网站程序的反向代理及负载均衡器,来提升整个站点的负载并发能力。

安装部署:

三台服务器,两台tomcat,一台nginx

Tomcat1:huyang1  Tomcat2:huyang2  nginx:huyang3

安装部署:

安装tomcat服务器:

1)关闭防火墙,selinux

2)安装JDK,配置Java环境,版本保持一致

3)安装Tomcat,版本与Tomcat 1 保持一致

4)建立一个web目录,并在里面建立一个webapp目录,用于存放网站文件

5)在webapp目录下建立一个index.jsp的测试页面

 

安装nginx服务器:

1、关闭防火墙

2、安装依赖

 yum -y install pcre-devel zlib-devel openssl-devel

lrzsz

3、 创建nginx访问用户

useradd -M -s /sbin/nologin nginx

4、下载tar包,解压,配置,编译,安装

tar xf nginx-1.16.tar.gz -C /usr/src/cd /usr/src/nginx-1.16/./configure --prefix=/usr/local/nginx  --user=nginx--group=nginx --with-file-aio --with-http_stub_status_module --with-http_ssl_module--with-http_flv_module--with-http_gzip_static_module && make && make install

5、修改配置文件

vim /usr/local/nginx/conf/nginx.conf

配置如下:

6、启动服务

/usr/local/nginx/sbin/nginx

7、客户端登录验证

8、负载代理验证

 

 

代理成功,因为设置的权重均为weight=1,所以现在每

刷新一次更换一下信息。

九、Tomcat连接数据库:

服务器设置:

一台tomcat,一台mariadb

Tomcat:huyang1

Mariadb:huyang4

Tomcat服务器配置:(在上述的基础上)

1、下载并解压SLSaleSystem

tar xf SLSaleSystem.tar.gz -C /web/webapp/

ls /web/webapp/SLSaleSystem/

2、修改tomcat配置文件

vim /usr/local/tomcat8/conf/server.xml

配置如下:

3、客户端访问

当前未连接数据库,只可以访问,不可以登录

数据库配置:

1、下载安装包

yum -y install mariadb-server mariadb

2、启动服务并进入数据库

systemctl start mariadb

建立数据库,授权,刷新,退出

create database slsaledb;

grant all on slsaledb.* to admin@'%' identified by '123456';

 flush privileges;

3、导入信息

mysql -uroot < slsaledb-2014-4-10.sql

Tomcat服务器:修改配置文件

vim /web/webapp/SLSaleSystem/WEB-INF/classes/jdbc.properties

配置如下:加入数据库的ip和端口,授权账户和密码

客户端登录验证:

输入账户和密码后,呈现下列画面。

以下,商城框架搭建完毕,可供开发人员拓展!

十、Tomcat配置SSL加密

说明:当通过Nginx调度tomcat进行工作时,如果Nginx配置了ssl,Tomcat是无需配置的。

扩展实验:Nginx+OpenSSL实现https协议

创建加密用的私钥和证书文件

[root@localhost ~]# keytool -genkeypair -alias tomcat -keyalg RSA -keystore /usr/local/tomcat8/keystore

修改server.xml配置文件,创建支持加密连接的Connector

vim /usr/local/tomcat8/conf/server.xml

配置如下:

将上述配置注释去掉并修改为如下配置:

而后重启tomcat

/usr/local/tomcat8/bin/shutdown.sh

/usr/local/tomcat8/bin/startup.sh

密码和证书的位置根据个人的具体环境而设置,属性参数如下所述:

属性

描述

clientAuth

如果设为true,表示Tomcat要求所有的SSL客户出示安全证书,对SSL客户进行身份验证

keystoreFile

指定keystore文件的存放位置,可以指定绝对路径,也可以指定相对于<CATALINA_HOME>(Tomcat安装目录)环境变量 的相对路径。如果此项没有设定,默认情况下,Tomcat将从当前操作系统用户的用户目录下读取名为“.keystore”的文件。

keystorePass

指定keystore的密码,如果此项没有设定,在默认情况下,Tomcat将使用“changeit”作为默认密码。

sslProtocol

指定套接字(Socket)使用的加密/解密协议,默认值为TLS,用户不应该修改这个默认值。

ciphers

指定套接字可用的用于加密的密码清单,多个密码间以逗号(,)分隔。如果此项没有设定,在默认情况下,套接字可以使用任意一个可用的密码。

建议用google浏览器访问:https://192.168.200.114:8443

 

 

相关文章:

从小白到大神之路之学习运维第67天-------Tomcat应用服务 WEB服务

第三阶段基础 时 间&#xff1a;2023年7月25日 参加人&#xff1a;全班人员 内 容&#xff1a; Tomcat应用服务 WEB服务 目录 一、中间件产品介绍 二、Tomcat软件简介 三、Tomcat应用场景 四、安装配置Tomcat 五、配置目录及文件说明 &#xff08;一&#xff09;to…...

图解SQL基础知识,小白也能看懂的SQL文章

本文介绍关系数据库的设计思想&#xff1a; 在 SQL 中&#xff0c;一切皆关系。 在计算机龄域有许多伟大的设计理念和思想&#xff0c;例如&#xff1a; 在 Unix 中&#xff0c;一切皆文件。 在面向对象的编程语言中&#xff0c;一切皆对象。 关系数据库同样也有自己的设计…...

自动驾驶感知系统-毫米波雷达

毫米波雷达就是电磁波&#xff0c;雷达通过发射无线电信号并接收反射信号来测定车辆与物体间的距离&#xff0c;其频率通常介于10~300GHz之间。与厘米波导引头相比&#xff0c;毫米波导引头体积小&#xff0c;质量轻&#xff0c;空间分辨率高&#xff1b;与红外、激光、电视等光…...

Esp32_Arduino接入腾讯云笔记

ESP32是一款由乐鑫科技&#xff08;Espressif Systems&#xff09;推出的双核、低功耗、集成Wi-Fi和蓝牙的单芯片微控制器。它采用了Tensilica Xtensa LX6高性能处理器&#xff0c;具有大量的GPIO引脚、模数转换器、SPI、I2S、UART、PWM、I2C和SD卡接口等功能&#xff0c;可以满…...

python简单入门

python简单入门 文章目录 python简单入门0. 地址链接1. 官网2.2. 下载地址3. 官方文档 1. 第一章1.1 python解释器1.2 基础语法1.2.1 常见数据类型1.2.2 强制类型转换1.2.3 注释1.2.4 运算符1.2.5 字符串1.2.5.1 字符串的定义1.2.5.2 字符串拼接1.2.5.3 格式化字符串1.2.5.3 精…...

如何快速从csv文件搭建一个简单的神经网络模型(回归)

快速搭建一个简单的神经网络预测模型 采用的数据是kaggle的房价预测数据 涉及的数据文件&#xff0c;提取码为&#xff1a;zxcv #导入相关包 import pandas as pd import numpy as np import torch import torch.nn as nn首先读取数据 trainpd.read_csv("path",enc…...

Pytorch深度学习-----DataLoader的用法

系列文章目录 PyTorch深度学习——Anaconda和PyTorch安装 Pytorch深度学习-----数据模块Dataset类 Pytorch深度学习------TensorBoard的使用 Pytorch深度学习------Torchvision中Transforms的使用&#xff08;ToTensor&#xff0c;Normalize&#xff0c;Resize &#xff0c;Co…...

macOS Ventura 13.5 (22G74) Boot ISO 原版可引导镜像下载

macOS Ventura 13.5 (22G74) Boot ISO 原版可引导镜像下载 本站下载的 macOS 软件包&#xff0c;既可以拖拽到 Applications&#xff08;应用程序&#xff09;下直接安装&#xff0c;也可以制作启动 U 盘安装&#xff0c;或者在虚拟机中启动安装。另外也支持在 Windows 和 Lin…...

【机器学习】 奇异值分解 (SVD) 和主成分分析 (PCA)

一、说明 在机器学习 &#xff08;ML&#xff09; 中&#xff0c;一些最重要的线性代数概念是奇异值分解 &#xff08;SVD&#xff09; 和主成分分析 &#xff08;PCA&#xff09;。收集到所有原始数据后&#xff0c;我们如何发现结构&#xff1f;例如&#xff0c;通过过去 6 天…...

如何用logging记录python实验结果?

做python实验有时候需要打印很多信息在控制台(console&#xff09;&#xff0c;但是控制台的信息不方便回顾和保存&#xff0c;故而可以采用logging将信息存储起来。 先新建一个文件message.log代码如下&#xff1a; import logging logging.basicConfig(filename"messa…...

C语言假期作业 DAY 03

目录 题目 一、选择题 1、已知函数的原型是&#xff1a; int fun(char b[10], int *a); &#xff0c;设定义&#xff1a; char c[10];int d; &#xff0c;正确的调用语句是&#xff08; &#xff09; 2、请问下列表达式哪些会被编译器禁止【多选】&#xff08; &#xff09; 3、…...

使用serverless实现从oss下载文件并压缩

公司之前开发一个网盘系统, 可以上传文件, 打包压缩下载文件, 但是在处理大文件的时候, 服务器遇到了性能问题, 主要是这个项目是单机部署.......(离谱), 然后带宽只有100M, 现在用户比之前多很多, 然后所有人的压缩下载请求都给到这一台服务器了, 比如多个人下载的时候带宽问…...

从上到下打印二叉树

题目描述 从上到下打印出二叉树的每个节点&#xff0c;同一层的节点按照从左到右的顺序打印。 例如: 给定二叉树: [3,9,20,null,null,15,7], 返回&#xff1a; [3,9,20,15,7] 算法思想 建立一个vector数组ret用来当做返回的结果数组&#xff0c;建立一个队列用来接收二叉树…...

【推荐】排序模型的调优

【推荐】排序模型的调优 排序模型的选择 排序模型常见的训练方式 样本类别不均衡处理尝试 欠拟合 过拟合 其他问题 排序模型的选择 LR&#xff0c;GBDT&#xff0c;LRGBDT&#xff0c;FM/FFM&#xff0c; 深度模型&#xff08;wide & deep&#xff0c;DeepFM&#x…...

负载均衡安装配置详解

负载均衡&#xff08;Load Balancing&#xff09;是一种将网络流量分布到多个服务器上的技术&#xff0c;以提高系统的性能、可靠性和可扩展性。 在负载均衡中&#xff0c;有一个负载均衡器&#xff08;Load Balancer&#xff09;&#xff0c;它充当了传入请求的前置接收器。当…...

Java-逻辑控制

目录 一、顺序结构 二、分支结构 1.if语句 2.swich语句 三、循环结构 1.while循环 2.break 3.continue 4.for循环 5.do while循环 四、输入输出 1.输出到控制台 2.从键盘输入 一、顺序结构 按照代码的书写结构一行一行执行。 System.out.println("aaa"); …...

UE 透明渲染次序

附加顺序 用最外面的球, 依次附加里面的球 最后附加的物体优先级最高 附加顺序 用最里面的球, 依次附加外面的球 这样渲染顺序就对了...

【C++】多态原理剖析,Visual Studio开发人员工具使用查看类结构cl /d1 reportSingleClassLayout

author&#xff1a;&Carlton tag&#xff1a;C topic&#xff1a;【C】多态原理剖析&#xff0c;Visual Studio开发人员工具使用查看类结构cl /d1 reportSingleClassLayout website:黑马程序员C tool&#xff1a;Visual Studio 2019 date&#xff1a;2023年7月24日 目…...

vue实现flv格式视频播放

公司项目需要实现摄像头实时视频播放&#xff0c;flv格式的视频。先百度使用flv.js插件实现&#xff0c;但是两个摄像头一个能放一个不能放&#xff0c;没有找到原因。&#xff08;开始两个都能放&#xff0c;后端更改地址后不有一个不能放&#xff09;但是在另一个系统上是可以…...

iptables安全技术和防火墙

防火墙&#xff1a;隔离功能 位置&#xff1a;部署在网络边缘或主机边缘&#xff0c;在工作中&#xff0c;防火墙的主要作用是决定哪些数据可以被外网访问以及哪些数据可以进入内网访问&#xff0c;主要在网络层工作 其他类型的安全技术&#xff1a;1、入侵检测系统 2、入侵…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

分区配置 (ptab.json) img 属性介绍&#xff1a; img 属性指定分区存放的 image 名称&#xff0c;指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件&#xff0c;则以 proj_name:binary_name 格式指定文件名&#xff0c; proj_name 为工程 名&…...

springboot整合VUE之在线教育管理系统简介

可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生&#xff0c;小白用户&#xff0c;想学习知识的 有点基础&#xff0c;想要通过项…...

GitHub 趋势日报 (2025年06月06日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

Git常用命令完全指南:从入门到精通

Git常用命令完全指南&#xff1a;从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...

android RelativeLayout布局

<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器

拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件&#xff1a; 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...

Python实现简单音频数据压缩与解压算法

Python实现简单音频数据压缩与解压算法 引言 在音频数据处理中&#xff0c;压缩算法是降低存储成本和传输效率的关键技术。Python作为一门灵活且功能强大的编程语言&#xff0c;提供了丰富的库和工具来实现音频数据的压缩与解压。本文将通过一个简单的音频数据压缩与解压算法…...

【java】【服务器】线程上下文丢失 是指什么

目录 ■前言 ■正文开始 线程上下文的核心组成部分 为什么会出现上下文丢失&#xff1f; 直观示例说明 为什么上下文如此重要&#xff1f; 解决上下文丢失的关键 总结 ■如果我想在servlet中使用线程&#xff0c;代码应该如何实现 推荐方案&#xff1a;使用 ManagedE…...