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

Tomcat 负载均衡

目录

二、Tomcat Web Server

2.1 Tomcat 部署

2.1.1 Tomcat 介绍

2.1.2 Tomcat 安装

 2.2 Tomcat 服务管理

2.2.1 Tomcat 启停

2.2.2 目录说明

2.2.3编辑主页

 2.3 Tomcat管理控制台

 2.3.1开启远程管理

2.3.2 配置远程管理密码

 三、负载均衡

3.1 重新编译Nginx

3.1.1 确认环境

 3.1.2重新加压编译安装

3.2 配置Nginx


二、Tomcat Web Server

2.1 Tomcat 部署

2.1.1 Tomcat 介绍

        Tomcat 官网:Apache Tomcat® - Welcome!

        Tomcat是在服务器中使用

        Tomcat 虽然和 Apache HTTPD 或者 Nginx 服务器一样,具有处理 HTML 页面的功能,但是其处理静态 HTML 的功能不及前两者。 Tomcat 通常是作为Java 主页的解析容器。

2.1.2 Tomcat 安装

        检查Java 环境。

[root@localhost ~]# java -version
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)
[root@localhost ~]#

        安装解压软件。

#1、安装
wget https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.54/bin/apache-tomcat-7.0.54.tar.gz -P ~/Desktop#2、解压
tar xf ~/Desktop/apache-tomcat-7.0.54.tar.gz -C /usr/local#3、查看
[root@localhost ~]# ls
anaconda-ks.cfg Desktop Downloads Music Public Templates
apache-tomcat-7.0.54 Documents initial-setup-ks.cfg Pictures server.conf.sh Videos
[root@localhost ~]# mv apache-tomcat-7.0.54/ /usr/local/tomcat_7.0.54
[root@localhost ~]# ls -l /usr/local/tomcat_7.0.54/

 2.2 Tomcat 服务管理

2.2.1 Tomcat 启停

        开启tomcat 服务。
[root@localhost ~]# cd /usr/local/tomcat_7.0.54/
[root@localhost tomcat_7.0.54]# ./bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat_7.0.54
Using CATALINA_HOME: /usr/local/tomcat_7.0.54
Using CATALINA_TMPDIR: /usr/local/tomcat_7.0.54/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat_7.0.54/bin/bootstrap.jar:/usr/local/tomcat_7.0.54/bin/tomcat-juli.jar
Tomcat started.
[root@localhost tomcat_7.0.54]# netstat -anptul | grep ":8080"
tcp6 0 0 :::8080 :::* LISTEN 5706/java 
[root@localhost tomcat_7.0.54]#

        在local/bin的目录中,有.sh结尾的和.bat结尾的原因是因为tomcat不仅可以在Linux环境中运行,还可以在Windows环境中运行。 在Linux中启动使用 ./startup.sh。

        此时在client客户端中也可以访问:

         关闭Tomcat服务,停止就是运行 shutdown.sh。

[root@localhost ~]# cd /usr/local/tomcat_7.0.54/
[root@localhost tomcat_7.0.54]# ./bin/shutdown.sh
Using CATALINA_BASE: /usr/local/tomcat_7.0.54
Using CATALINA_HOME: /usr/local/tomcat_7.0.54
Using CATALINA_TMPDIR: /usr/local/tomcat_7.0.54/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat_7.0.54/bin/bootstrap.jar:/usr/local/tomcat_7.0.54/bin/tomcat-juli.jar
[root@localhost tomcat_7.0.54]#

2.2.2 目录说明

[root@localhost apache_tomcat_7.0.54]# ls -lh
total 96K
drwxr-xr-x 2 root root 4.0K Feb 3 22:24 bin         存放启动或关闭tomcat 服务的脚本
drwxr-xr-x 3 root root 174 Feb 3 22:25 conf         存放tomcat 全局配置文件
drwxr-xr-x 2 root root 4.0K Feb 3 22:24 lib         存放tomcat 需要的库文件
-rw-r--r-- 1 root root 56K May 20 2014 LICENSE
drwxr-xr-x 2 root root 197 Feb 3 22:25 logs         存放日志文件
-rw-r--r-- 1 root root 1.2K May 20 2014 NOTICE
-rw-r--r-- 1 root root 8.8K May 20 2014 RELEASE-NOTES
-rw-r--r-- 1 root root 16K May 20 2014 RUNNING.txt
drwxr-xr-x 2 root root 30 Feb 3 22:24 temp
drwxr-xr-x 7 root root 81 May 20 2014 webapps Web     应用部署目录
drwxr-xr-x 3 root root 22 Feb 3 22:25 work jsp         编译后产生的class 文件
[root@localhost apache_tomcat_7.0.54]#

2.2.3编辑主页

        Tomcat 默认应用: webapps/ROOT
        Tomcat 默认主页: webapps/ROOT/index.jsp
5个文件夹,就有五个网站。

       刚进去看到的页面是在ROOT中,修改jsp文件
将上面的图片内容修改成为下面的图片的内容:

         在客户端中刷新

 2.3 Tomcat管理控制台

 2.3.1开启远程管理

        Tomcat 管理控制台,能对 Web 应用进行管理,包括部署、启动、停止、卸载的操作。管理控制台配置文件: webapps/manager/META-INF/context.xml 。
        开启管理控制台远程连接。
vim /usr/local/apache-tomcat_7.0.54/webapps/manager/META-INF/context.xml

         将下面的代码粘贴到上面打开的文件中。

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.
(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?
|java\.util\.(?:Linked)?HashMap"/>

         配置完成之后不用重启。

2.3.2 配置远程管理密码

        进入管理控制台需要使用帐密。配置文件地址: conf/tomcat-users.xml

<roleomca rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status,admingui,admin-script"/>

        进入文件:

         将上面的代码粘贴进去:

        配置好之后需要重启Tomcat服务:

         火狐中登录查看:


 三、负载均衡

        nginx负载均衡

        当请求过来的时候,按照负载均衡算法分担到.100,101,102的服务器中去,即分给服务器1,2,3.....中,就是所谓的服务器集群

        客户只知道自己是访问tomcat,不知道自己访问的是nginx,所以说叫反向代理

        这里要反向代理,需要重新安装nginx,网关中安装。

        具体过程是需要按照Tomcat安装步骤,给Server和Syslog安装Tomcat。

         因为上面的步骤中已经把Server中的Tomcat部署好了,这里只部署Syslog。

3.1 重新编译Nginx

3.1.1 确认环境

        确认开发环境是否安装。

[root@localhost ~]# yum install zlib-devel pcre-devel -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
dvd | 3.6 kB 00:00:00 
Package zlib-devel-1.2.7-17.el7.x86_64 already installed and latest version
Package pcre-devel-8.32-17.el7.x86_64 already installed and latest version
Nothing to do
[root@localhost ~]#

        确认账号是否创建。

[root@localhost ~]# id nginx
uid=251(nginx) gid=1001(nginx) groups=1001(nginx)
[root@localhost ~]# grep "^nginx" /etc/passwd
nginx:x:251:1001::/home/nginx:/sbin/nologin
[root@localhost ~]#

        网关中停止Nginx。

         删除Nginx的文件。

         本地的Nginx也删除。

 3.1.2重新加压编译安装

[root@localhost ~]# tar xf Desktop/nginx-1.6.0.tar.gz
[root@localhost ~]# cd nginx-1.6.0/
[root@localhost nginx-1.6.0]# ./configure --prefix=/usr/local/nginx_1.6.0 --user=nginx --group=nginx --with-file-aio -
-with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-openssl=/usr/bin/openssl
[root@localhost nginx-1.6.0]# make
[root@localhost nginx-1.6.0]# make install

        make和make install 之后之后启动。

         进入Nginx。

        参数说明:

--user
指定用户
--group
指定组
--with-file-aio
启用文件修改
--with-http_stub_status_module
启用状态统计
--with-http_gzip_static_module
启用 gzip 静态压缩
--with-http_flv_module
启用 flv 模块
--with-http_ssl_module
启用 SSL 模块

3.2 配置Nginx

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

        反向代理把nginx的请求分发给tomcat。

        注释那原有的两个页面,然后加一个代理。

        正确的配置如下:upstream 和Server是同一个级别的。

http{upstream ajest_server { 设置负载均衡服务器地址server 172.16.1.100:8080 weight=1;server 172.16.1.200:8080 weight=1;}server {location / {proxy_pass http://ajest_server; 启用反代功能}
}

        然后重启nginx。

     设置的权重是一样的,所以分配的时候是随机的。

     所以访问http://192.168.1.254/时候是随机分配到Server和Syslog的。

     多刷新几次就会有100和200的分别。

相关文章:

Tomcat 负载均衡

目录 二、Tomcat Web Server 2.1 Tomcat 部署 2.1.1 Tomcat 介绍 2.1.2 Tomcat 安装 2.2 Tomcat 服务管理 2.2.1 Tomcat 启停 2.2.2 目录说明 2.2.3编辑主页 2.3 Tomcat管理控制台 2.3.1开启远程管理 2.3.2 配置远程管理密码 三、负载均衡 3.1 重新编译Nginx 3.1.1 确…...

CSS >子元素选择器和空格

在 CSS 中&#xff0c;> 符号是 子元素选择器&#xff08;Child Combinator&#xff09;&#xff0c;它用于选择某个元素的直接子元素&#xff08;仅限第一层嵌套的子元素&#xff0c;不包含更深层的后代元素&#xff09;。 语法 父元素 > 子元素 {样式规则; } 示例 …...

duckdb源码阅读学习路径图

🧭 DuckDB 最小内存源码阅读路径图 1️⃣ 数据流入口与批处理:DataChunk 项目内容✅ 目标理解 DuckDB 向量化执行的数据载体结构,如何影响内存📁 路径src/common/types/data_chunk.cpp/hpp🔍 入口函数DataChunk::Initialize, DataChunk::SetCardinality, Reset📌 优化…...

C#二叉树

C#二叉树 二叉树是一种常见的数据结构&#xff0c;它是由节点组成的一种树形结构&#xff0c;其中每个节点最多有两个子节点。二叉树的一个节点通常包含三部分&#xff1a;存储数据的变量、指向左子节点的指针和指向右子节点的指针。二叉树可以用于多种算法和操作&#xff0c;…...

BT-Basic函数之首字母W

BT-Basic函数之首字母W 文章目录 BT-Basic函数之首字母Wwaitwait for start wait wait函数使程序在执行下一个功能之前暂停指定的秒数。 语法 wait <数值表达式>参数 <数值表达式> 等待时长&#xff0c;以秒为单位。该值必须大于或等于0。小于25毫秒的正值会被…...

如何避免论文内容被误认为是 AI 生成的?

AIGC 检测的原理 AIGC 检测主要基于自然语言处理&#xff08;NLP&#xff09;和机器学习技术&#xff0c;通过深度分析文本内容来识别其中的 AI 生成痕迹。具体原理如下&#xff1a; 基础学习算法&#xff1a;利用机器学习算法对文本信息进行特征提取和表示&#xff0c;以便计…...

node.js之path常用方法

node.js之path常用方法 1.path.join([…paths]) 用于将多个路径片段拼接成一个路径&#xff0c;会自动处理路径分隔符&#xff0c;避免手动拼接时可能出现的问题 const joinedPath path.join(folder1, folder2, file.txt); console.log(joinedPath); // 输出: folder1/fol…...

【面试】C++与C override的报错阶段 RAII

文章目录 C 相对于 C 语言的主要区别**1. 面向对象编程&#xff08;OOP&#xff09;****2. 函数增强****3. 内存管理****4. 引用&#xff08;Reference&#xff09;****5. 标准模板库&#xff08;STL&#xff09;****6. 异常处理****7. 类型安全增强****8. 其他特性****9. 兼容…...

LeetCode 3396.使数组元素互不相同所需的最少操作次数:O(n)一次倒序遍历

【LetMeFly】3396.使数组元素互不相同所需的最少操作次数&#xff1a;O(n)一次倒序遍历 力扣题目链接&#xff1a;https://leetcode.cn/problems/minimum-number-of-operations-to-make-elements-in-array-distinct/ 给你一个整数数组 nums&#xff0c;你需要确保数组中的元素…...

机器学习课堂7用scikit-learn库训练SVM模型

1.用scikit-learn库训练SVM模型 代码 # 2-11用scikit-learn库训练SVM模型 import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn import svm # 导入sklearn# 参数设置 m_train 250 # 训练样本数量 svm_C 100 # SVM的C值 svm_kernel …...

模拟考试系统(ssm+vue+mysql5.x)

模拟考试系统(ssmvuemysql5.x) 模拟考试系统是一个为考试准备和管理提供全面支持的平台。系统提供了丰富的功能模块&#xff0c;包括个人中心、科目管理、复习资料管理、参考文献管理、用户管理、留言板管理、试题管理、试卷管理、系统管理和考试管理。用户可以在个人中心修改…...

【计网】作业4

一. 单选题&#xff08;共22题&#xff0c;64分&#xff09; 1. (单选题)主机甲采用停止-等待协议向主机乙发送数据&#xff0c;数据传输速率是4kb/s&#xff0c;单向传播时延为30ms&#xff0c;忽略确认帧的发送时延。当信道利用率等于80%时&#xff0c;数据帧的长度为&#…...

MYSQL数据库语法补充

一&#xff0c;DQL基础查询 DQL&#xff08;Data Query Language&#xff09;数据查询语言&#xff0c;可以单表查询&#xff0c;也可以多表查询 语法&#xff1a; select 查询结果 from 表名 where 条件&#xff1b; 特点&#xff1a; 查询结果可以是&#xff1a;表中的字段…...

Java基础编程练习第38题-除法器

题目&#xff1a;编写一个除法器&#xff0c;输入被除数和除数&#xff0c;并将结果输出。 这道题看似很简单&#xff0c;实则也不难。 就是假如用户输入的类型不同怎么办呢&#xff1f;用户输入int或者double类型应该怎么解决。这里我们就需要用到函数的重载。 代码如下&am…...

【基于Vue3组合式API的互斥输入模式实现与实践分享】

基于Vue3组合式API的互斥输入模式实现与实践分享 目录 背景与痛点设计思路技术实现使用场景与案例遇到的问题与解决方案最佳实践总结 1. 背景与痛点 在表单交互设计中&#xff0c;我们经常面临这样的场景&#xff1a;多种输入方式互斥。例如&#xff0c;在评分系统中&#…...

Linux进程概念及理解

目录 冯诺依曼体系结构 操作系统(Operator System) 概念 设计OS的目的 定位 如何理解 "管理" 总结 系统调用和库函数概念 进程 基本概念 描述进程-PCB task_struct-PCB的一种 task_ struct内容分类 组织进程 查看进程 通过系统调用获取进程标示符 通过系统调用创建进…...

苹果签名是否安全

苹果开发者与运营商都对苹果签名有一定了解&#xff0c;那么苹果签名安全吗&#xff1f;下面我来跟大家聊一聊。 苹果签名能验证应用的来源&#xff0c;但存在一些风险&#xff0c;有开发者伪造签名&#xff0c;让用户认为此产品是可信的&#xff0c;这样就安装到了恶意应用&am…...

STM32在裸机(无RTOS)环境下,需要手动实现队列机制来替代FreeRTOS的CAN发送接收函数

xQueueSendToBackFromISR(ecuCanRxQueue, hcan->pRxMsg, &xHigherPriorityTaskWoken)&#xff0c;xQueueReceive(mscCanRxQueue,&mscRxMsg,0)和xQueueSendToBack(mscCanTxQueue, &TxMessageTemp, 0 )这3个函数&#xff0c;在裸机下实现&#xff1a; 在裸机&…...

无法看到新安装的 JDK 17

在 Linux 系统中使用 update-alternatives --config java 无法看到新安装的 JDK 17&#xff0c;可能是由于 JDK 未正确注册到系统备选列表中。 一、原因分析 JDK 未注册到 update-alternatives update-alternatives 工具需要手动注册 JDK 路径后才能识别新版本。如果仅安装 JDK…...

JavaEE——线程的状态

目录 前言1. NEW2. TERMINATED3. RUNNABLE4. 三种阻塞状态总结 前言 本篇文章来讲解线程的几种状态。在Java中&#xff0c;线程的状态是一个枚举类型&#xff0c;Thread.State。其中一共分为了六个状态。分别为&#xff1a;NEW,RUNNABLE,BLOCKED,WAITING,TIMED_WAITING, TERMI…...

数据结构与算法-数学-(同余,线性同余方程,中国剩余定理,卡特兰数,斯特林数)

同余方程&#xff1a; 1.1 线性同余方程 & 乘法逆元 线性同余方程是形如 ax≡b(mod m) 的方程&#xff0c;可转化为 axmyb 的线性不定方程&#xff0c;利用扩展欧几里得算法求解。当 b1 时&#xff0c;x 就是 a 在模 m 意义下的乘法逆元。 代码&#xff1a; #include &…...

RAG 系统中的偏差是什么?

检索增强生成 (RAG) 在减少模型幻觉和增强大型语言模型 (LLM)的领域特定知识库方面已获得广泛认可。通过外部数据源佐证大型语言模型生成的信息&#xff0c;有助于保持模型输出的新鲜度和真实性。然而&#xff0c;最近在 RAG系统中的发现&#xff0c;突显了基于 RAG 的大型语言…...

[创业之路-362]:用确定性的团队、组织、产品开发流程和方法,应对客户、市场、竞争和商业模式的不确定性。

在充满不确定性的商业环境中&#xff0c;通过确定性的团队、组织、产品开发流程和方法构建核心竞争力&#xff0c;是应对客户、市场、竞争和商业模式变化的核心策略。以下从团队韧性、组织敏捷、产品开发闭环三个维度&#xff0c;结合实战方法论&#xff0c;提供可落地的解决方…...

系统与网络安全------网络通信原理(1)

资料整理于网络资料、书本资料、AI&#xff0c;仅供个人学习参考。 文章目录 网络通信模型协议分层计算机网络发展计算机网络功能什么是协议为什么分层邮局实例 OSI模型OSI协议模型OSI七层模型OSI七层的功能简介 TCP/IP模型OSI模型与TCP/IP模型TCP/IP协议族的组成各层PDU设备与…...

ArkTS语言基础之函数

前言 臭宝们终于来到了ArkTS基础之函数&#xff0c;今天我们来学习一下ArkTS的函数的相关知识&#xff0c;上一节中也有一些函数的基础知识。 函数声明 函数声明引入一个函数&#xff0c;包含其名称、参数列表、返回类型和函数体,在下面的例子中&#xff0c;我们声明了一个名…...

synchronized锁升级的锁对象和Mark Word

在讨论synchronized锁升级和Mark Word时&#xff0c;提到的"对象"通常指的是锁对象&#xff0c;也就是被用作synchronized同步锁的那个Java对象。 1. 什么是锁对象&#xff1f; 锁对象是指被用于synchronized同步代码块或方法的对象实例。例如&#xff1a; // 这个…...

数据结构|排序算法(二)插入排序 希尔排序 冒泡排序

一、插入排序 1.算法思想 插入排序&#xff08;Insertion Sort&#xff09;是一种简单的排序算法&#xff0c;其基本思想是&#xff1a;将待排序的元素插入到已经有序的序列中&#xff0c;从而逐步构建有序序列。 具体过程如下&#xff1a; 把待排序的数组分为已排序和未排…...

12、主频和时钟配置实验

一、I.MX6U 时钟系统详解 1、系统时钟来源 开发板的系统时钟来源于两部分: 32.768KHz 和24MHz 的晶振,其中 32.768KHz 晶振是 I.MX6U 的 RTC 时钟源, 24MHz 晶振是 I.MX6U 内核和其它外设的时钟源。 2、7路PLL时钟源 I.MX6U 的外设有很多,不同的外设时钟源不同, NXP 将…...

DFS和BFS的模版

dfs dfs金典例题理解就是走迷宫 P1605 迷宫 - 洛谷 dfs本质上在套一个模版&#xff1a; ///dfs #include<bits/stdc.h> using namespace std; int a[10][10]{0}; int m,n,t,ans0; int ex,ey; int v[10][10]{0}; int dx[4]{-1,0,1,0}; int dy[4]{0,1,0,-1}; void dfs(in…...

docker镜像导出导入

在Docker中&#xff0c;可以很容易地导出和导入镜像&#xff0c;这对于备份、迁移或者在不同的环境中共享镜像非常有用。以下是操作步骤&#xff1a; 导出镜像 使用 docker save docker save 命令可以用来将一个或多个镜像保存到一个文件中&#xff0c;这个文件可以被导入到任…...

大模型Agent | 构建智能体 AI-Agent的 5大挑战,及解决方案!

源自: AINLPer&#xff08;每日干货分享&#xff01;&#xff01;&#xff09; 编辑: ShuYini 校稿: ShuYini 时间: 2025-4-7 更多&#xff1a;>>>>专注大模型/AIGC、学术前沿的知识分享&#xff01; 引言 AI-Agent正变得越来越智能&#xff0c;它能够根据用户需…...

基于STM32、HAL库的IP2721 快充协议芯片简介及驱动程序设计

一、简介: IP2721是一款高性能的USB PD (Power Delivery)协议控制器芯片,主要用于USB Type-C接口的电源管理。它支持USB PD 3.0规范,能够实现多种电压和电流的协商,广泛应用于充电器、移动电源等设备。 主要特性: 支持USB PD 3.0规范 支持Type-C接口的DRP/SRC/SNK模式 内…...

荣耀90 GT信息

外观设计 屏幕&#xff1a;采用 6.7 英寸 AMOLED 荣耀绿洲护眼屏&#xff0c;超窄边框设计&#xff0c;其上边框 1.6mm&#xff0c;左右黑边 1.25mm&#xff0c;屏占较高&#xff0c;带来更广阔的视觉体验。屏幕还支持 120Hz 自由刷新率&#xff0c;可根据使用场景自动切换刷新…...

53. 评论日记

要自己有判断是非的能力宝子们。#小米 #小米su7 #雷军 #神操作 #小米su7ultra_哔哩哔哩_bilibili 2025年4月8日19:30:57...

【10】搭建k8s集群系列(二进制部署)之安装Dashboard和CoreDNS

一、部署Dashboard 1.1、创建kubernetes-dashboard.yaml文件 完整的yaml配置文件信息如下&#xff1a; # Copyright 2017 The Kubernetes Authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in …...

【算法手记12】DP25 删除相邻数字的最大分数

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:刷题 ⚙️操作环境:牛客网 目录 一.DP25 删除相邻数字的最大分数 题目详情: 题目思路: 解题代码: 结语 一.DP25 删除相邻数字的最大分数 牛客网题目链接(点击即可跳转):DP25 删除相邻数字的最大分数 题目详情: 本题详情如…...

[Godot] C#简单实现人物的控制和动画

目录 实现效果 场景搭建 脚本实现 移动 动画 完整脚本 相机跟随 总结 实现效果 场景搭建 本文章只分享了关于移动和动画的&#xff0c;没有给碰撞体&#xff0c;大家根据需要自行添加吧 相机的缩放大小可以根据自己的需要调整 我的人物动画结构是这样的&#xff0c;待机动…...

选择站群服务器租用的优势都有什么?

站群服务器是一种专门用于托管多个网站的服务器&#xff0c;是通过集中管理和资源分配&#xff0c;可以支持同时运行数十个甚至是数百个独立网站&#xff0c;站群服务器的主要特点就是让每个网站可以分配独立的IP地址&#xff0c;避免出现IP关联风险&#xff0c;通过统一控制面…...

VS Code下开发FPGA——FPGA开发体验提升__下

上一篇&#xff1a;IntelliJ IDEA下开发FPGA-CSDN博客 Type&#xff1a;Quartus 一、安装插件 在应用商店先安装Digtal IDE插件 安装后&#xff0c;把其他相关的Verilog插件禁用&#xff0c;避免可能的冲突。重启后&#xff0c;可能会弹出下面提示 这是插件默认要求的工具链&a…...

leetcode13.罗马数字转整数

遍历&#xff0c;下一个值不大于当前值就加上当前值&#xff0c;否则就减去当前值 class Solution {public int romanToInt(String s) {Map<Character, Integer> map Map.of(I, 1,V, 5,X, 10,L, 50,C, 100,D, 500,M, 1000);int sum 0;for (int i 0; i < s.length(…...

WVP-PRO配置与部署

ZLMediaKit部署与配置 https://blog.csdn.net/qq_38179971/article/details/147043763MySQL8.0.13安装[Ubuntu16.04] cd /usr/local/src wget http://soft.vpser.net/lnmp/lnmp1.6.tar.gz -cO lnmp1.6.tar.gz && tar zxf lnmp1.6.tar.gz && cd lnmp1.6 &…...

opencv图像库编程

目录 一、Linux搭建C OpenCV开发环境1.安装必要依赖项2.安装opencv3、cmake分析4、验证安装 二、编写一个打开图片进行特效显示的代码 test.cpp1.gcc方式编译1&#xff09;在opencv3.4.5下新建mytest文件夹2&#xff09;创建test.cpp3&#xff09;编译 2.makemakefile方式编译3…...

【Easylive】定时任务-每日数据统计和临时文件清理

【Easylive】项目常见问题解答&#xff08;自用&持续更新中…&#xff09; 汇总版 这个定时任务系统主要包含两个核心功能&#xff1a;每日数据统计和临时文件清理。下面我将详细解析这两个定时任务的实现逻辑和技术要点&#xff1a; Component Slf4j public class SysTas…...

搜广推校招面经七十

美团暑期推荐实习 一、讲一下self-attention&#xff0c;qkv的含义。 见【搜广推校招面经五】 二、讲一下协同过滤召回&#xff0c;新闻推荐项目为什么不用usercf? 见【搜广推校招号面经六十四】 三、介绍信息增益公式&#xff08;Information Gain&#xff09; 见【搜广…...

TypeScript 泛型详解及应用场景

泛型&#xff08;Generics&#xff09;是 TypeScript 的核心特性&#xff0c;它允许我们编写可复用、类型安全的代码&#xff0c;同时保持灵活性。以下是深度解析和实际应用指南&#xff1a; 一、泛型基础概念 本质&#xff1a;参数化类型&#xff0c;将类型作为变量传递&…...

Proximal Policy Optimization (PPO)2017

2.1 策略梯度方法 策略梯度方法计算策略梯度的估计值并将其插入到随机梯度上升算法中。最常用的梯度估计器的形式如下&#xff1a; g ^ E t [ ∇ θ log ⁡ π θ ( a t ∣ s t ) A ^ t ] (1) \hat{g} \mathbb{E}_t \left[ \nabla_{\theta} \log \pi_{\theta}(a_t | s_t) \h…...

使用 Google ML Kit 实现图片文字识别(提取美国驾照信息)

Google ML Kit 是一个现代、功能强大、跨平台的机器学习 SDK。在这篇文章中&#xff0c;我们将使用 ML Kit 在 Android 应用中识别图片文字&#xff0c;以提取美国驾照上的关键信息&#xff1a;DL&#xff08;驾照号&#xff09; 和 EXP&#xff08;有效日期&#xff09;。 &am…...

VR体验馆如何用小程序高效引流?3步打造线上预约+团购裂变系统

VR体验馆如何用小程序高效引流&#xff1f;3步打造线上预约团购裂变系统 一、线上预约的核心价值&#xff1a;优化体验&#xff0c;提升转化​​ ​​减少客户等待时间​​ 通过小程序预约功能&#xff0c;客户可提前选择体验时段&#xff0c;避免到店排队。数据显示&#…...

前端知识(vue3)

1.Vue3 1.1 介绍 Vue&#xff08;读音 /vjuː/, 类似于 view&#xff09;是一款用于构建用户界面的渐进式的JavaScript框架 官网&#xff1a;https://cn.vuejs.org 1.2 常见指令 指令&#xff1a;指的是HTML 标签上带有 v- 前缀的特殊属性&#xff0c;不同指令具有不同含义…...

nginx 代理 https 接口

代码中需要真实访问的接口是&#xff1a;https://sdk2.028lk.com/application-localizationdev.yml文件中配置&#xff1a; url: http:/111.34.80.138:18100/sdk2.028lk.com/该服务器111.34.80.138上 18100端口监听&#xff0c;配置信息为&#xff1a; location /sdk2.028lk.c…...