Linux+nginx-前端部署的详细步骤

news2024/11/25 17:21:55

直奔主题

学废以下内容,前端也可以自己做部署啦~

  • Linux:大多数服务器都是使用Linux作为操作系统:稳定、安全、开源。
  • finalShell工具:finalShell是一个方便管理远程服务器的工具,提供了可视化的操作配置界面。在和远程服务器建立连接之后,可以在标签终端通过执行相应的命令进行文件上传、下载、编写脚本…等操作;也可以不使用命令行,直接通过点击拖拽进行文件上传、下载…
  • Nginx:一个高性能且轻量级的HTTP和反向代理web服务器。Nginx本身就可以托管网站,进行Http服务处理,也可以作为反向代理服务器 、负载均衡器和HTTP缓存。

Linux命令

Linux命令大全

1、文件和目录操作:

- ls:当前目录下的文件/目录

- cd:切换到指定目录
  - cd ..:切换到当前目录的上一级目录
  - cd /:切换到根目录
  - cd ~:切换到用户主目录(home)
  - cd -:切换到上次访问的目录
- pwd:显示当前所在目录的路径
- mkdir test-dxy:创建新目录
- rm test-dxy -r:删除目录
- touch test.txt:创建新文件
- cat test.txt:查看文件内容
- cp test.txt test-two.txt:复制文件
- rm test.txt test-two.txt:删除文件
- tar -zxvf abc.tgz:解压文件

2、与防火墙配置相关的操作命令:

//查看防火墙状态的命令
firewall-cmd --state

//开启防火墙
systemctl start firewalld 

//关闭防火墙
systemctl stop firewalld  

//重启防火墙
systemctl restart firewalld

//设置开放8866端口
firewall-cmd --zone=public --add-port=8866/tcp --permanent

//查询8866端口是否开启
firewall-cmd --query-port=8866/tcp 

//查看已经开放的端口
firewall-cmd --list-port

3、vim文本编辑器操作:

i:切换到输入模式
esc键:切换到查看模式
: :在最底一行输入命令
:w:保存文件
:q:退出vim编辑器
:q!:强制退出vim编辑器

finalShell工具

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

nginx安装配置

1、安装地址

使用finalshell,一般是存放在/usr/local目录下:

pwd  //查看当前目录
cd usr/local

(1)下载安装包拖进对应目录下

nginx安装地址:https://nginx.org/download/

(2)执行wget命令下载

wget -c https://nginx.org/download/nginx-1.14.0.tar.gz

2、配置nginx安装所需要的环境

  • 安装PCRE pcre-devel(让nginx支持Rewrite功能)

    Nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法。这里需要安装两个安装包pcre和pcre-devel。第一个安装包提供编译版本的库,而第二个提供开发阶段的头文件和编译项目的源代码。安装指令如下:

yum install -y pcre pcre-devel  //安装pcre
  • 安装zlib

    zlib库提供了开发人员的压缩算法,在Nginx的各种模块中需要使用gzip压缩。安装指令如下:

yum install -y zlib zlib-devel
  • 安装gcc

    安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境。安装指令如下:

yum install gcc-c++
  • 安装Open SSL

    nginx不仅支持 http协议,还支持 https,如果使用了 https,需要安装 OpenSSL 库。安装指令如下:

yum install -y openssl openssl-devel

3、解压nginx压缩包

  • 解压压缩包指令:
tar zxvf nginx-1.14.0.tar.gz
  • 解压之后进入解压后的文件
cd nginx-1.14.0
  • 然后需要进行配置,注意!这里有一个坑:

    • 一般是使用默认配置,即输入./configure 就好了。但是如果你需要使用https支持,则需要加上SSL模块,否则会出现如下报错:

      nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:37
      
    • 所以后期需要https服务的请执行以下指令替代 ./configure:

      ./configure --with-http_ssl_module
      
  • 查看

4、编译安装nginx

  • 逐个执行以下指令:
make
make install
  • 安装成功之后,返回上级目录,然后进入新的nginx目录
cd ..  
ls 
cd usr/local/nginx 
ls 

5、启动和关闭nginx

注意:以下代码均要在**/usr/local/nginx/sbin** 目录下执行!!

  • 进入nginx下的sbin目录,输入./nginx启动nginx
cd sbin
./nginx
  • 关闭nginx
./nginx -s stop
  • 重启nginx
./nginx -s reload
  • 查看nginx进程
ps aux|grep nginx

6、项目部署

在nginx下新建一个存放该项目的文件夹,将打包好的dist文件拖进去;然后修改nginx对应的配置,修改好之后重启nginx。

  • nginx配置:

server(主机设置):主要用于指定虚拟主机域名、IP和端口

upstream(上游服务器设置,主要为反向代理、负载均衡相关配置):用于设置一系列的后端服务器,设置反向代理及后端服务器的负载均衡

location(URL匹配特定位置后的设置):用于匹配网页位置(比如,根目录"/“,”/images",等等)

在这里插入图片描述
在这里插入图片描述

  • 最后即可访问。

nginx重要的使用场景

1、单页面history配置

涉及知识:Location路径匹配(location就是nginx中的路由——用于匹配uri)

场景描述:Vue路由有两种模式——

(1)Hash模式:

会使用 URL 的 hash 来模拟一个完整的 URL(#);当 URL 的 hash 部分发生变化时,页面不会重新加载,而是触发 JavaScript 监听器来响应变化,并更新页面内容。

(2)History模式:

URL 中的路径部分看起来更像传统的 URL,没有 #;在这种模式下,通过使用 HTML5 History API来进行路由管理,页面可以在不刷新的情况下改变 URL,从而实现前端路由的效果。

默认hash模式,这种模式下url上会带"#“,有时候不希望路径中含有这个”#“,会选择history模式。不带”#"会引发一些问题,比如打包部署页面刷新后可能会报404,这个时候可能就是后端没有配置对应的路由,所以就需要进行nginx配置。

# html设置history模式
location / {
    # 前端dist包位置
    root /data/html/dist;
    index index.html index.htm;
    
    # history模式,页面刷新不会404
    try_files $uri $uri/ /index.html;
}
try_files $uri $uri/ /index.html;
作用是按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜杠/的表示文件夹),若所有的文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。

2、解决跨域问题

由于浏览器的同源策略(同源策略要求网页只能从同一来源加载资源,资源所在的协议、域名和端口都必须相同;当浏览器发现请求的资源与当前页面不符合同源策略时,就会拦截这个请求),在进行请求的时候会存在跨域问题,可以通过配置nginx来解决。

跨源资源共享(CORS,或通俗地译为跨域资源共享)是一种基于 HTTP 头的机制,该机制通过允许服务器标示除了它自己以外的其他源(域、协议或端口),使得浏览器允许这些源访问加载自己的资源。

配置跨域响应头(CORS):

在nginx中,通过add_header添加对应的跨域头部即可。


location ^~ /api/ {
    # 跨域处理 设置头部域名
    add_header Access-Control-Allow-Origin *;
    # 跨域处理 设置头部方法
    add_header Access-Control-Allow-Methods 'GET,POST,DELETE,OPTIONS,HEAD';
}

3、反向代理

场景:

反向代理:对于客户端来说,反向代理服务器就相当于目标服务器。客户端对代理是无感知的,只需要把请求发送给反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器的地址。

  • 请求方向:客户端 -> 代理服务器 <- 目标服务器

用途:

(1)隐藏服务端IP

(2)保证内网的安全,可以使用反向代理提供Web应用程序防火墙功能,阻止web攻击(大型网站,通常将反向代理作为公网访问地址,Web服务器是内网)

(3)负载均衡(通过将请求分发给多个后端服务器上,来分担服务器的负载压力)

img


# 接口反向代理
http {
    upstream backend_servers {
        server backend1.example.com;
        server backend2.example.com;
        server backend3.example.com;
    }

    server {
        listen 80;

        location / {
            proxy_pass http://backend_servers;
        }
    }
}

正向代理

正向代理:代理客户端向原始服务器转交请求并将获得的内容返回给客户端,客户端非常明确要访问的服务器地址,而服务器只清楚请求来自哪个代理服务器而不清楚来自哪个具体的客户端;正向代理模式屏蔽或者隐藏了真实客户端信息。

  • 请求方向:客户端 -> 代理服务器 -> 目标服务器

用途:

(1)代理客户端访问无法访问的资源(当你想要访问国外网站,却受限于自身IP限制的时候)

(2)对外隐藏客户端真实IP(代理服务器会把你的请求转发给目标的服务器,在这个过程中,客户端和目标服务器没有直接交互)

(3)加速访问资源(当多个用户访问同一个资源的时候,代理服务器会将这些记录在缓存里)

img

server {
	listen 80;

	location / {
		proxy_pass http://backend_servers;
	}
}

4、负载均衡

负载均衡的主要是通过负载均衡算法,将请求分发到集群模式中的服务器上,这样即使某个后台服务器挂了,其他服务器还可以正常接收请求,实现了高可用,并且集群模式下的服务器支持纵向扩展,可以应对业务快速增长带来的高并发应用场景。

负载均衡常见算法:轮询、权重和ip_hash算法,默认是轮询算法。一般使用的是基于权重的算法,因为现在很多情况下都是集群部署,而且集群下的各个服务器资源大多都是不均匀的,资源高的则分配权重高一些,资源低的则分配权重低一些,这种情况使用基于权重的负载均衡算法,可以更高效的利用资源和提高并发处理能力~

(1)基于轮询的算法

原理是每一个请求按时间顺序逐一被分发到不同的应用服务器,如果接收请求的应用服务器挂了,并且请求超过最大失败次数max_fails1次),则在失效时间fail_timeout10秒)内不会再转发请求到该节点~

upstream defaultReverseProxyServer{
    server 192.168.0.1:8080; 
    server 192.168.0.2:8080; 
}

(2)基于权重的算法
原理是每一个请求按权重被分发到不同的应用服务器,同样,如果接收请求的应用服务器挂了,并且请求超过最大失败次数max_fails(默认1次或可设置N次),则在失效时间fail_timeout(默认10秒,可设置N秒)内,不会再转发请求到该节点~

upstream weightReverseProxyServer{
	# 权重为10,5s内连接请求失败2次,nginx在5s内认为server是不可用的,将不在发送请求给这台服务器
    server 192.168.0.1:8080 weight=10 max_fails=2 fail_timeout=5s;
    #权重为5,10s内连接请求失败3次,nginx在10s内认为server是不可用的,将不在发送请求给这台服务器
    server 192.168.0.2:8080 weight=5 max_fails=3 fail_timeout=10s;
}

(3)基于ip_hash的算法
原理是每一个请求按用户访问IP的哈希结果分配,如果请求来自同一个用户IP则固定这台IP访问一台应用服务器,该算法可以有效解决动态网页中存在的session共享问题。

upstream ipHashReverseProxyServer{
    ip_hash;
    server 192.168.0.1:8080;
    server 192.168.0.2:8080;
}

5、动静分离 + 缓存

(1)nginx的静态处理能力很强,在默认配置下本身就是指向了静态的html页面,但是动态处理能力有限,所以为了提高网站性能,一般大型应用都需要进行动静分离。

nginx主要是通过采用代理的方式,在server{}块中配置带有正则匹配的location,如果请求的是静态资源,直接到静态资源目录获取资源,如果是动态资源请求,就利用反向代理,把请求转发给对应服务器进行处理,来实现动静分离。

在这里插入图片描述

//动态服务器资源群组
upstream server_pools {
	server 192.168.1.189:80 ;
}
server {
	listen       80;
	server_name  www_server_pool;
	location / {
		proxy_pass http://server_pools;  //动态资源
	}
     
	location /static/ {
		root   html/dist;  //静态资源
		index  index.html index.htm;
	}
}

(2)Nginx 提供了强大的缓存功能,可以缓存静态资源,减少后续请求的响应时间和服务器负载。通过设置缓存规则,可以指定哪些资源需要缓存、缓存时间等参数。

http {
    # 指定缓存路径和相关配置
    proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m;

    server {
        listen 80;
        server_name example.com;

		# 启用缓存
        location / {
            proxy_pass http://backend-server;
            proxy_cache my_cache;  # 启用缓存
            proxy_cache_valid 200 302 10m;  # 缓存有效期
            proxy_cache_valid any 1m;
            proxy_cache_key $scheme$host$request_uri;  # 缓存键值
            proxy_ignore_headers Cache-Control Expires;  # 忽略后端服务器的缓存控制头
            add_header X-Cache-Status $upstream_cache_status;  # 响应头中添加缓存状态信息
        }
    }
}

踩坑记录

1、如果想使用外部主机访问nginx,需要关闭服务器的防火墙或者开放nginx服务端口:

(1)关闭防火墙命令(Centos7):

//查看防火墙状态的命令
firewall-cmd --state

//开启防火墙
systemctl start firewalld 

//关闭防火墙
systemctl stop firewalld  

//重启防火墙
systemctl restart firewalld

(2)开放端口:

//设置开放8866端口
firewall-cmd --zone=public --add-port=8866/tcp --permanent  //将端口 8866/tcp 添加到 public 区域
firewall-cmd --add-port=8866/tcp --permanent  //没有指定特定的区域,会将端口 8866/tcp 添加到默认的区域(通常是 public)

//查询8866端口是否开启
firewall-cmd --query-port=8866/tcp  
//查看已经开放的端口
firewall-cmd --list-port

2、网址为 http://10.10.10.1:6666/ 的网页可能暂时无法连接,或者它已永久性地移动到了新网址。

原因:是浏览器的问题,Chrome自己默认觉得一些端口号是不安全的,所以不允许发起请求,直接返回服务无法访问页面。

具体如下:

1, // tcpmux
7, // echo
9, // discard
11, // systat
13, // daytime
15, // netstat
17, // qotd
19, // chargen
20, // ftp data
21, // ftp access
22, // ssh
23, // telnet
25, // smtp
37, // time
42, // name
43, // nicname
53, // domain
77, // priv-rjs
79, // finger
87, // ttylink
95, // supdup
101, // hostriame
102, // iso-tsap
103, // gppitnp
104, // acr-nema
109, // pop2
110, // pop3
111, // sunrpc
113, // auth
115, // sftp
117, // uucp-path
119, // nntp
123, // NTP
135, // loc-srv /epmap
139, // netbios
143, // imap2
179, // BGP
389, // ldap
465, // smtp+ssl
512, // print / exec
513, // login
514, // shell
515, // printer
526, // tempo
530, // courier
531, // chat
532, // netnews
540, // uucp
556, // remotefs
563, // nntp+ssl
587, // stmp?
601, // ??
636, // ldap+ssl
993, // ldap+ssl
995, // pop3+ssl
2049, // nfs
3659, // apple-sasl / PasswordServer
4045, // lockd
6000, // X11
6665, // Alternate IRC [Apple addition]
6666, // Alternate IRC [Apple addition]
6667, // Standard IRC [Apple addition]
6668, // Alternate IRC [Apple addition]
6669, // Alternate IRC [Apple addition]

解决:避开上面的端口号,换个安全一点的就好啦~

3、nginx部署前端项目无法请求到后台接口

问题描述:在使用nginx把项目部署到服务器上之后,去访问这个项目(http://10.10.10.1:6688/)会发现,所有的接口都没法使用了,是因为没有在nginx里配置后端服务器地址,nginx无法将请求转发到对应的后端服务器。

解决方案:需要进行nginx代理配置——
在这里插入图片描述

4、在nginx下部署两个前端项目,一个端口号是8086、请求地址是10.10.10.1:8080,另一个端口号是8090、请求地址是10.11.11.11:8089,nginx该如何配置:

server {                        # 第一个Server区块开始,表示一个独立的虚拟主机站点
    listen 8086;                # 监听服务的端口:8086
    server_name frontend1.com;  # 提供服务的域名主机名或IP地址

    location / {
        proxy_pass http://10.10.10.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

server {
    listen 8090;
    server_name frontend2.com;  # 修改为你的域名或 IP 地址

    location / {
        proxy_pass http://10.11.11.11:8089;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

5、重新启动服务器:进到nginx使用./nginx -s reload重新读取配置文件,发现报nginx: [error] open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory)错误,进到logs文件发现的确没有nginx.pid文件

报错情况:

./nginx -s reload
# nginx: [error] open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory)

分析原因:

Nginx在启动或重新加载时无法找到pid文件(pid文件用于存储Nginx主进程的进程ID号,以便在停止或重载Nginx时使用)

解决方法:

(1)使用nginx -c的重新指定nginx.conf配置文件。

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

(2)确认Nginx配置文件中是否指定了pid文件路径,并检查该路径是否正确。默认情况下,Nginx会将pid文件存储在/usr/local/nginx/logs/nginx.pid路径下。如果这个文件不存在或该路径不正确,可以手动创建该文件并设置相应的权限。

/nginx -s reload重新读取配置文件,发现报nginx: [error] open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory)错误,进到logs文件发现的确没有nginx.pid文件

报错情况:

./nginx -s reload
# nginx: [error] open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory)

分析原因:

Nginx在启动或重新加载时无法找到pid文件(pid文件用于存储Nginx主进程的进程ID号,以便在停止或重载Nginx时使用)

解决方法:

(1)使用nginx -c的重新指定nginx.conf配置文件。

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

(2)确认Nginx配置文件中是否指定了pid文件路径,并检查该路径是否正确。默认情况下,Nginx会将pid文件存储在/usr/local/nginx/logs/nginx.pid路径下。如果这个文件不存在或该路径不正确,可以手动创建该文件并设置相应的权限。

参考文章:https://blog.csdn.net/weixin_45745641/article/details/119223601?spm=1001.2014.3001.5506

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

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

相关文章

调用api接口异常的原因及解决方法

在进行接口调用时&#xff0c;调用有时会遇到各种异常情况&#xff0c;接口解决例如连接超时、异常因及返回值错误等。调用的原这些异常情况可能会导致程序无法正常运行&#xff0c;接口解决因此需要及时解决。异常因及本文将介绍。 一、接口解决连接超时 连接超时是异常因及…

mybatis-flex笔记

MyBatis-Flex 的增删改功能 - MyBatis-Flex 官方网站https://mybatis-flex.com/zh/base/add-delete-update.html https://gitee.com/hntianshu/mybatis-flex-test.githttp://xn--ces6a538pmb2a 一 新增数据 不忽略 null 值。 就是允许有null 忽略null 就是不允许有null BaseM…

图像文件怎么才能转换为Excel

将图像文件转换为Excel需要通过OCR&#xff08;Optical Character Recognition&#xff0c;光学字符识别&#xff09;技术&#xff0c;先将图片中的文字识别出来&#xff0c;再将识别出的文字导入到Excel中。这可以使用一些在线或离线的OCR工具&#xff0c;例如ABBYY FineReade…

JAVA B/S架构智慧工地源码,PC后台管理端、APP移动端

智慧工地系统充分利用计算机技术、互联网、物联网、云计算、大数据等新一代信息技术&#xff0c;以PC端&#xff0c;移动端&#xff0c;设备端三位一体的管控方式为企业现场工程管理提供了先进的技术手段。让劳务、设备、物料、安全、环境、能源、资料、计划、质量、视频监控等…

【Linux操作系统】探秘Linux奥秘:Linux开发工具的解密与实战

&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《操作系统实验室》&#x1f516;诗赋清音&#xff1a;柳垂轻絮拂人衣&#xff0c;心随风舞梦飞。 山川湖海皆可涉&#xff0c;勇者征途逐星辉。 目录 &#x1fa90;1 初识Linux OS &…

ES6之Promise的链式调用

✨ 专栏介绍 在现代Web开发中&#xff0c;JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性&#xff0c;还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言&#xff0c;JavaScript具有广泛的应用场景&#x…

微信商户号证书和密钥设置详细教程

1.先进入微信商户平台扫码登录微信商户号 微信商户平台 2.进入账户中心-API安全 3.申请API证书 3.1申请证书时按指引下载这个工具&#xff0c;这个工具里面包含你的证书信息 3.2 按指引安装该证书&#xff0c;安装完成以后证书会下载到你电脑的本地文件目录 4. 设置APIV2密…

建立网络矩阵:选择迅腾文化提供定制集成化服务、专业团队支持与拓展销售渠道

建立网络矩阵&#xff1a;选择迅腾文化提供定制集成化服务、专业团队支持与拓展销售渠道 在当今高度互联的数字时代&#xff0c;网络矩阵已成为企业常态化运营工具。网络矩阵不仅仅是一个单一的网站&#xff0c;而是由多个相互关联的数字资产组成的整体结构&#xff0c;包括官…

能答出这些问题,你就学会了模拟电路

自古以来&#xff0c;模拟电路和数字电路是电子工程师的学习重点&#xff0c;尤其是模拟电路&#xff0c;随着时代高速发展&#xff0c;越来越多高速高频设备使用模拟电路&#xff0c;在这种趋势下&#xff0c;很多电子人纷纷学习模电&#xff0c;但如何知道自己已经学成&#…

linux sh 脚本文件换行错误

windows 写好的脚本到服务运行不起来&#xff0c;显示换行问题 因为 windwos 的换行和 linux 的换行风格不同 解决办法&#xff1a;在使用的文本编辑器中&#xff0c;修改格式为 unix 格式 以 notepad 为例&#xff0c;在编辑 -> 文档格式转换中设置格式为 Unix

优优嗨聚集团:冬季旅游市场,寒风中的暖流“

随着季节的轮换&#xff0c;冬季的寒风已经开始轻轻掠过大地。对于很多人来说&#xff0c;这可能是一个蛰伏的季节&#xff0c;但对于旅游市场来说&#xff0c;冬季却是一个充满潜力和机遇的季节。今天&#xff0c;我们就来探讨一下冬季旅游市场的发展趋势&#xff0c;以及如何…

使用Gitea搭建自己的git远程仓库

Gitea 为什么需要自建仓库 原因只有一个&#xff1a;折腾。其实国内的码云加上github已经足够用了。 官方原话 Gitea 的首要目标是创建一个极易安装&#xff0c;运行非常快速&#xff0c;安装和使用体验良好的自建 Git 服务。我们采用 Go 作为后端语言&#xff0c;这使我们…

VUE——IDEA 启动前端工程VS文件启动前端工程

IDEA 启动前端 目录 前言一、打开控制台二、输入npm install三、依赖下载完之后&#xff0c;输入npm run dev&#xff0c;运行前端项目1、IDEA启动前端工程2、文件目录启动前端工程 四、点击http://localhost:8080后续敬请期待 前言 启动已有的vue前端项目 一、打开控制台 选…

Nacos、OpenFeign、Ribbon、loadbalancer组件工作的原理

Nacos、OpenFeign、Ribbon、loadbalancer组件工作的原理 Nacos是什么&#xff0c;官网中有这么一段话 这一段话说的直白点就是Nacos是一个注册中心和配置中心&#xff01; 在Nacos中有客户端和服务端的这个概念 服务端需要单独部署&#xff0c;用来保存服务实例数据的 客户端…

yolov5简单手势识别

实验目的 实验要求只需要识别五个简单的手势即可&#xff0c;分别对应的一下五个动作 动作对应标签名点赞goodOKok单手比心love数字 5five数字8eight 使用yolov5实现目标检测功能&#xff0c;有一下几个主要步骤 环境配置&#xff08;包括conda、labelimg、yolov5的下载&am…

【解决|三方工具】导入 XChart 后提示丢失关于 TMPPro 工具引用

开发平台&#xff1a;Unity 2021 版本 插件版本&#xff1a;XChart 3.0&#xff1a;官方文档 - https://github.com/XCharts-Team/XCharts   问题描述 导入 XChart 插件至 Unity 中出现 目录&#xff1a;Component、Theme 等提示丢失 TMPPro&#xff08;TextMeshPro 工具&…

iOS实时查看App运行日志

目录 一、设备连接 二、使用克魔助手查看日志 三、过滤我们自己App的日志 &#x1f4dd; 摘要&#xff1a; 本文介绍了如何在iOS iPhone设备上实时查看输出在console控制台的日志。通过克魔助手工具&#xff0c;我们可以连接手机并方便地筛选我们自己App的日志。 &#x1f4…

Java报表是什么?盘点2024最实用的四款Java报表!

Java报表工具在Java环境下发挥着重要的作用&#xff0c;它们通过提供可视化操作界面&#xff0c;支持通用jdbc数据库&#xff0c;并可以输出多种格式报表&#xff0c;帮助用户更好地处理和分析数据。这些工具应用广泛&#xff0c;例如在数据展示、数据统计和分析、数据监控以及…

项目经验简单总结

引擎 unity 2020 语言 C# lua python(用于工具链) java (用于SDK对接) js&#xff08;PC WEB SDK对接&#xff09; 编辑器 VS VSCODE IDEA eclipse 项目开发模块规划分 主项目工程&#xff0c;UI资源项目工程&#xff0c;模型场景资源项目工程 主项目工程&#xff1a;所有的…

GC6236,GC6208,GC6209镜头驱动芯片选型,多应用于摄像机镜头,家庭监控云台驱动等产品中

国产芯片GC6236&#xff0c;GC6208&#xff0c;GC6209 为5V摄像机镜头驱动芯片&#xff0c;电压范围在3~5.5(V)&#xff0c;最大持续电流可达0.8(A)最高工作温度在-40~100之间。其特点都具有5V多通道&#xff0c;低噪步进电机驱动和霍尔自动光圈驱动等。可应用在摄像机镜头,家庭…