传统方式部署(RuoYi-Cloud)微服务

实验环境

192.168.10.43和192.168.10.44内存不能小于4G

一、安装MySQL(192.168.10.46)

1、安装MySQL依赖库

dnf -y install ncurses-compat-libs

2、上传mysql-8.0.42-linux-glibc2.17-x86_64-minimal.tar.xz二进制包到/root目录,解压并移动到指定目录

tar xf mysql-8.0.42-linux-glibc2.17-x86_64-minimal.tar.xzmv mysql-8.0.42-linux-glibc2.17-x86_64-minimal /usr/local/mysql

3、设置环境变量

echo 'export MYSQL_HOME=/usr/local/mysql' >> /etc/profileecho 'export PATH=$MYSQL_HOME/bin:$PATH' >> /etc/profilesource /etc/profile

4、创建MySQL用户和数据目录

useradd -r -s /bin/false -M mysqlmkdir -p /usr/local/mysql/datachown -R mysql:mysql /usr/local/mysql/

5、创建MySQL配置文件

cat > /etc/my.cnf << EOF[mysqld]basedir=/usr/local/mysqldatadir=/usr/local/mysql/datapid-file=/usr/local/mysql/data/mysqld.pidlog-error=/usr/local/mysql/data/mysql.errsocket=/tmp/mysql.sockEOF

6、初始化MySQL数据库

mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

7、创建systemctl管理文件

cat > /usr/lib/systemd/system/mysqld.service << EOF[Unit]Description=MySQL ServerAfter=network.target[Service]Type=forkingUser=mysqlGroup=mysqlExecStart=/usr/local/mysql/bin/mysqld --daemonizeExecStop=/usr/local/mysql/bin/mysqladmin shutdownRestart=on-failure[Install]WantedBy=multi-user.targetEOF

8、启动MySQL服务

systemctl daemon-reloadsystemctl enable --now mysqld

9、修改MySQL的root用户密码

grep password /usr/local/mysql/data/mysql.err

mysql -uroot -p
alter user 'root'@'localhost' identified by '123456';

二、安装redis(192.168.10.45)

下载地址:https://download.redis.io/releases/

1、下载源码包

wget https://download.redis.io/releases/redis-6.0.20.tar.gz

2、编译安装到指定目录

tar xf redis-6.0.20.tar.gzcd redis-6.0.20/make PREFIX=/usr/local/redis -j$(nproc)sudo make PREFIX=/usr/local/redis install

3、设置环境变量

echo 'export REDIS_HOME=/usr/local/redis' >> /etc/profileecho 'export PATH=$REDIS_HOME/bin:$PATH' >> /etc/profilesource /etc/profile

4、创建redis用户和专用目录

useradd -r -s /bin/false -M redismkdir -p /usr/local/redis/{conf,data,log}cp /root/redis-6.0.20/redis.conf /usr/local/redis/conf/chown -R redis:redis /usr/local/redis

5、修改配置文件

vim /usr/local/redis/conf/redis.conf

修改:

6、创建systemctl管理文件

cat > /usr/lib/systemd/system/redis.service << EOF[Unit]Description=Redis In-Memory Data StoreAfter=network.target[Service]Type=forkingUser=redisGroup=redisExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.confExecStop=/usr/local/redis/bin/redis-cli shutdownRestart=on-failurePrivateTmp=true[Install]WantedBy=multi-user.targetEOF

7、启动redis服务

systemctl daemon-reloadsystemctl enable --now redis

三、安装WEB(192.168.10.42)

1、下载nginx源码包

wget https://nginx.org/download/nginx-1.28.0.tar.gz

2、创建nginx用户

useradd -r -s /bin/false -M nginx

3、编译安装nginx

安装依赖

dnf -y install openssl-devel zlib-devel pcre-develtar xf nginx-1.28.0.tar.gzcd nginx-1.28.0/./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_mp4_module --with-http_stub_status_modulemake -j$(nproc) && make install

4、创建systemctl管理文件

cat > /usr/lib/systemd/system/nginx.service << EOF[Unit]Description=Nginx server daemonAfter=network.target[Service]Type=forkingExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.confExecStop=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -s stopExecReload=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -s reloadRestart=on-failure[Install]WantedBy=multi-user.targetEOF

5、启动nginx服务

systemctl daemon-reloadsystemctl enable --now nginx

四、准备ruoyi源代码编译环境(192.168.10.47)

1、安装Java1.8

rocky9.5自带Java1.8

编译源代码需要安装java-1.8-devel

dnf -y install java-1.8.0-openjdk-develjava -version

2、安装maven3.8

(1)下载maven二进制包,解压并移动到指定目录

wget https://mirrors.aliyun.com/apache/maven/maven-3/3.8.9/binaries/apache-maven-3.8.9-bin.tar.gztar xf apache-maven-3.8.9-bin.tar.gzmv apache-maven-3.8.9 /usr/local/maven

(2)设置环境变量

echo 'export MAVEN_HOME=/usr/local/maven' >> /etc/profileecho 'export PATH=$MAVEN_HOME/bin:$PATH' >> /etc/profilesource /etc/profile

(3)查看maven版本

mvn -version

(4)配置maven

vim /usr/local/maven/conf/settings.xml

添加修改:

      <id>aliyunmaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/repositories/central</url>

    <profile><id>java8</id><activation><activeByDefault>true</activeByDefault></activation><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><maven.compiler.release>8</maven.compiler.release></properties></profile>

(5)查看系统环境信息和 Java 系统属性

mvn help:system

显示下载地址为阿里源即为正确

3、安装nodejs

下载地址:https://nodejs.org/download/release/v22.15.1/

(1)下载nodejs二进制包,解压并移动到指定目录

wget https://nodejs.org/download/release/v22.15.1/node-v22.15.1-linux-x64.tar.xztar xf node-v22.15.1-linux-x64.tar.xzmv node-v22.15.1-linux-x64 /usr/local/nodejs

(2)设置环境变量

vim /etc/profile

添加修改:

export NODEJS_HOME=/usr/local/nodejsexport PATH=$MAVEN_HOME/bin:$NODEJS_HOME/bin:$PATH

source /etc/profile

(3)查看nodejs版本

node -v

npm -v

(4)修改npm镜像源

查看当前 npm 的镜像源

npm get config registry

修改为淘宝镜像源

npm config set registry https://registry.npmmirror.com/npm get config registry

五、部署治理层

1、安装jdk1.8(192.168.10.43)

rocky9.5自带java1.8

需要安装java1.8的开发

dnf -y install java-1.8.0-openjdk-develjava -version

2、部署单机nacos(服务注册中心/配置管理中心)

Nacos(Dynamic Naming and Configuration Service)是阿里巴巴开源的一款集 服务发现配置管理服务治理 于一体的平台,适用于云原生和微服务架构。

下载地址:https://nacos.io/docs/latest/overview/

(1)上传nacos-server-2.5.1.zip包到/root目录,解压并移动到指定目录(192.168.10.43)

unzip nacos-server-2.5.1.zipmv nacos /usr/local/

(2)拷贝nacos数据库文件到MySQL服务器(192.168.10.43)

scp /usr/local/nacos/conf/mysql-schema.sql root@192.168.10.46:/root

(3)创建用户和数据库并导入nacos数据库文件(192.168.10.46)

登录MySQL

create user nacos@'192.168.10.%' identified by '123456';grant all on nacos.* to nacos@'192.168.10.%';create database nacos charset utf8mb4;
mysql -unacos -p123456 -h 192.168.10.46 nacos < /root/mysql-schema.sql

验证

mysql -unacos -p123456 -h 192.168.10.46
show databases;use nacos;show tables;

(4)修改nacos配置文件(192.168.10.43)

vim /usr/local/nacos/conf/application.properties

修改:

(5)启动nacos服务(192.168.10.43)

单机启动nacos

sh /usr/local/nacos/bin/startup.sh -m standalone

监控日志

tail -f /usr/local/nacos/logs/start.out

(6)访问nacos

使用浏览器访问192.168.10.43:8848/nacos

登录需要输入用户和密码时,均为nacos

3、安装sentinel(熔断服务)(192.168.10.43)

Sentinel(哨兵)是阿里巴巴开源的 流量控制熔断降级系统保护 的轻量级组件,专门用于解决微服务架构中的 高可用性稳定性 问题。

下载地址:https://github.com/alibaba/Sentinel/releases/tag/1.8.8

(1)上传sentinel-dashboard-1.8.8.jar jar包到/root目录

(2)启动sentinel服务

nohup java -Dserver.port=8718 -Dcsp.sentinel.dashboard.server=localhost:8718 -Dproject.name=sentinel-dashboard -Dcsp.sentinel.api.port.port=8719 -jar sentinel-dashboard-1.8.8.jar &> /var/log/sentinel.log &ss -anplt | grep 8718

(3)访问sentinel

使用浏览器访问192.168.10.43:8718

登录用户和密码均为sentinel

4、部署skywalking(链路监控服务)(192.168.10.43)

Apache SkyWalking 是一款开源的 应用性能监控(APM)和分布式追踪系统,专为微服务、云原生和容器化架构设计,帮助开发者快速定位性能瓶颈和故障根因。

官方下载地址:https://archive.apache.org/dist/skywalking/

第三方下载地址(下载速度更快):https://linux.oldxu.net/apache-skywalking-apm-8.8.1.tar.gz

(1)上传apache-skywalking-apm-8.8.1.tar.gz包到/root目录,解压并移动到指定目录

tar xf apache-skywalking-apm-8.8.1.tar.gzmv apache-skywalking-apm-bin/ /usr/local/

(2)启动skywalking服务

sh /usr/local/apache-skywalking-apm-bin/bin/startup.sh

ss -anplt | grep java

(3)访问skywalking

使用浏览器访问192.168.10.43:8080

六、部署微服务

1、克隆ruoyi-cloud源代码(192.168.10.47)

git clone https://gitee.com/y_project/RuoYi-Cloud.git

2、导入ruoyi相关库和表

(1)拷贝源代码中库文件到mysql服务器(192.168.10.47)

scp -r /root/RuoYi-Cloud/sql/ root@192.168.10.46:/root/

(2)创建数据库和用户并导入数据(192.168.10.46)

登录MySQL

create database `ry-cloud` charset utf8;create database `ry-config` charset utf8;create user root@'192.168.10.%' identified by '123456';grant all on *.* to root@'192.168.10.%';
mysql -uroot -p123456 -h 192.168.10.46 ry-cloud < /root/sql/quartz.sqlmysql -uroot -p123456 -h 192.168.10.46 ry-cloud < /root/sql/ry_20250523.sqlmysql -uroot -p123456 -h 192.168.10.46 ry-config < /root/sql/ry_config_20250224.sql

3、配置nacos(192.168.10.43)

(1)修改配置文件

vim /usr/local/nacos/conf/application.properties

修改:

(2)重启nacos服务

sh /usr/local/nacos/bin/shutdown.shsh /usr/local/nacos/bin/startup.sh -m standalone

监控日志

tail -f /usr/local/nacos/logs/start.out

(3)访问nacos

使用浏览器访问192.168.10.43:8848/nacos

4、修改ruoyi源代码(192.168.10.47)

vim /root/RuoYi-Cloud/ruoyi-auth/src/main/resources/bootstrap.yml

修改:

vim /root/RuoYi-Cloud/ruoyi-gateway/src/main/resources/bootstrap.yml

修改:

vim /root/RuoYi-Cloud/ruoyi-modules/ruoyi-file/src/main/resources/bootstrap.yml

修改:

vim /root/RuoYi-Cloud/ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml

修改:

vim /root/RuoYi-Cloud/ruoyi-modules/ruoyi-job/src/main/resources/bootstrap.yml

修改:

vim /root/RuoYi-Cloud/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml

修改:

vim /root/RuoYi-Cloud/ruoyi-visual/ruoyi-monitor/src/main/resources/bootstrap.yml

修改:

5、编译ruoyi源代码

cd /root/RuoYi-Cloud/mvn clean package

6、拷贝所有jar包到service(192.168.10.44)服务器

(1)创建jar包存放目录(192.168.10.44)

mkdir /ruoyi-service

(2)拷贝jar包(192.168.10.47)

find /root/RuoYi-Cloud/ -name *.jar -exec scp {} 192.168.10.44:/ruoyi-service/ \;

7、使用nacos修改相应服务的yaml文件

(1)修改ruoyi-system-dev.yml

删除添加:

# spring配置

spring:

  redis:

    host: 192.168.10.45

    port: 6379

    password:

  cloud:

    sentinel:

      eager: true

      transport:

        dashboard: 192.168.10.43:8718

  datasource:

    druid:

      stat-view-servlet:

        enabled: true

        loginUsername: admin

        loginPassword: 123456

    dynamic:

      druid:

        initial-size: 5

        min-idle: 5

        maxActive: 20

        maxWait: 60000

        timeBetweenEvictionRunsMillis: 60000

        minEvictableIdleTimeMillis: 300000

        validationQuery: SELECT 1 FROM DUAL

        testWhileIdle: true

        testOnBorrow: false

        testOnReturn: false

        poolPreparedStatements: true

        maxPoolPreparedStatementPerConnectionSize: 20

        filters: stat,slf4j

        connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000

      datasource:

        # 主库数据源

        master:

          driver-class-name: com.mysql.cj.jdbc.Driver

          url: jdbc:mysql://192.168.10.46:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8

          username: root

          password: 123456

        # 从库数据源

        # slave:

        #   username:

        #   password:

        #   url:

        #   driver-class-name:

      # seata: true   # 开启seata代理,开启后默认每个数据源都代理,如果某个不需要代理可单独关闭

# seata配置

seata:

  # 默认关闭,如需启用spring.datasource.dynami.seata需要同时开启

  enabled: false

  # Seata 应用编号,默认为 ${spring.application.name}

  application-id: ${spring.application.name}

  # Seata 事务组编号,用于 TC 集群名

  tx-service-group: ${spring.application.name}-group

  # 关闭自动代理

  enable-auto-data-source-proxy: false

  # 服务配置项

  service:

    # 虚拟组和分组的映射

    vgroup-mapping:

      ruoyi-system-group: default

  config:

    type: nacos

    nacos:

      serverAddr: 127.0.0.1:8848

      group: SEATA_GROUP

      namespace:

  registry:

    type: nacos

    nacos:

      application: seata-server

      server-addr: 127.0.0.1:8848

      namespace:

# mybatis配置

mybatis:

  # 搜索指定包别名

  typeAliasesPackage: com.ruoyi.system

  # 配置mapper的扫描,找到所有的mapper.xml映射文件

  mapperLocations: classpath:mapper/**/*.xml

# swagger配置

swagger:

  title: 系统模块接口文档

  license: Powered By ruoyi

  licenseUrl: https://ruoyi.vip

(2)修改ruoyi-auth-dev.yml

修改添加:

spring:

  redis:

    host: 192.168.10.45

    port: 6379

    password:

  cloud:

    sentinel:

      eager: true

      transport:

        dashboard: 192.168.10.43:8718

(3)修改ruoyi-gateway-dev.yml

修改:

(4)修改ruoyi-monitor-dev.yml

8、部署skywalking代理(192.168.10.44)

Apache SkyWalking Java Agent 是 SkyWalking APM(应用性能监控)系统的 Java 探针(Agent),用于 无侵入式 采集 Java 应用的性能数据(如调用链路、JVM 指标、SQL 执行情况等),并将数据上报至 SkyWalking OAP 服务器进行分析和可视化展示。

官方下载地址:https://archive.apache.org/dist/skywalking/java-agent/

第三方下载地址(下载速度更快):https://linux.oldxu.net/apache-skywalking-java-agent-8.8.0.tgz

上传apache-skywalking-java-agent-8.8.0.tgz包到/root目录,解压并移动到指定目录

tar xf apache-skywalking-java-agent-8.8.0.tgzmv skywalking-agent/ /usr/local/

9、启动服务(192.168.10.44)

(1)启动ruoyi-system(ruoyi系统模块)服务

nohup java -javaagent:/usr/local/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=ruoyi-system -Dskywalking.collector.backend_service=192.168.10.43:11800 -Dspring.profiles.active=dev -Dspring.cloud.nacos.config.file-extension=yml -Dspring.cloud.nacos.discovery.server-addr=192.168.10.43:8848 -Dspring.cloud.nacos.config.server-addr=192.168.10.43:8848 -jar /ruoyi-service/ruoyi-modules-system.jar &>/var/log/system.log &

字段解析:

  • 核心命令

nohup

忽略挂断信号,确保终端关闭后进程仍运行

&>/var/log/system.log

将标准输出和错误输出重定向到 /var/log/system.log 文件

&

在后台运行进程

-jar /ruoyi-service/ruoyi-modules-system.jar

指定启动的可执行 JAR 文件

  • Java Agent 参数(SkyWalking 监控)

参数

说明

-javaagent:/usr/local/skywalking-agent/skywalking-agent.jar

挂载 SkyWalking Agent,实现无侵入式监控

-Dskywalking.agent.service_name=ruoyi-system

指定服务名(在 SkyWalking UI 中显示)

-Dskywalking.collector.backend_service=192.168.10.43:11800

SkyWalking OAP 服务器地址,用于接收监控数据

  • 应用配置参数

参数

说明

-Dspring.profiles.active=dev

激活 dev 环境配置(如 application-dev.yml)

-Dspring.cloud.nacos.config.file-extension=yml

指定 Nacos 配置中心的文件格式为 YAML

-Dspring.cloud.nacos.discovery.server-addr=192.168.10.43:8848

Nacos 注册中心地址,用于服务注册与发现

-Dspring.cloud.nacos.config.server-addr=192.168.10.43:8848

Nacos 配置中心地址,用于动态获取配置(如数据库连接信息)

监控日志

tail -f /var/log/system.log

查看nacos服务列表

(2)启动ruoyi-auth(ruoyi认证服务)服务

nohup java -javaagent:/usr/local/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=ruoyi-auth -Dskywalking.collector.backend_service=192.168.10.43:11800 -Dspring.profiles.active=dev -Dspring.cloud.nacos.config.file-extension=yml -Dspring.cloud.nacos.discovery.server-addr=192.168.10.43:8848 -Dspring.cloud.nacos.config.server-addr=192.168.10.43:8848 -jar /ruoyi-service/ruoyi-auth.jar &>/var/log/auth.log &

监控日志

tail -f /var/log/auth.log

查看nacos服务列表

(3)启动ruoyi-gateway(ruoyi网关服务)服务

nohup java -javaagent:/usr/local/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=ruoyi-gateway -Dskywalking.collector.backend_service=192.168.10.43:11800 -Dspring.profiles.active=dev -Dspring.cloud.nacos.config.file-extension=yml -Dspring.cloud.nacos.discovery.server-addr=192.168.10.43:8848 -Dspring.cloud.config.server-addr=192.168.10.43:8848 -jar /ruoyi-service/ruoyi-gateway.jar &>/var/log/gateway.log &

监控日志

tail -f /var/log/gateway.log

查看nacos服务列表

(4)启动ruoyi-monitor(ruoyi监控服务)服务

nohup java -javaagent:/usr/local/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=ruoyi-monitor -Dskywalking.collector.backend_service=192.168.10.43:11800 -Dspring.profiles.active=dev -Dspring.cloud.nacos.config.file-extension=yml -Dspring.cloud.nacos.discovery.server-addr=192.168.10.43:8848 -Dspring.cloud.nacos.config.server-addr=192.168.10.43:8848 -jar /ruoyi-service/ruoyi-visual-monitor.jar &>/var/log/monitor.log &

监控日志

tail -f /var/log/monitor.log

查看nacos服务列表

10、配置ruoyi前端源代码(192.168.10.47)

(1)修改前端源代码

指定后端接口IP

vim /root/RuoYi-Cloud/ruoyi-ui/vue.config.js

修改:

(2)使用nodejs构建前端代码

安装依赖

cd /root/RuoYi-Cloud/ruoyi-ui/npm install

构建

npm run build:prod

查看构建后生成的文件

ls dist/

11、修改nginx配置文件(192.168.10.42)

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

修改添加:

            try_files $uri $uri/ /index.html;location /prod-api/ {proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://192.168.10.44:8080/;}

创建网页目录

mkdir /ruoyi

重启nginx服务

systemctl restart nginx

12、拷贝前端代码到web服务器(192.168.10.47)

scp -r /root/RuoYi-Cloud/ruoyi-ui/dist/ root@192.168.10.42:/ruoyi/

13、访问前端验证

使用浏览器访问192.168.10.42

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

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

相关文章

Linux网络服务(一)——计算机网络参考模型与子网划分

文章目录前言一、分层思想1.1 分层的基本概念1.2 点到点与端到端通信的区别二、OSI参考模型2.1 OSI七层模型的结构2.2 各层功能示例&#xff08;以QQ为例&#xff09;2.3 单工&#xff0c;半双工和全双工2.4 OSI七层模型总结三、TCP/IP模型3.1 TCP/IP四层与五层模型3.2 TCP/IP协…

Elasticsearch全文检索中文分词:IK分词器详解与Docker环境集成

目录一、IK分词器介绍与选择1. IK分词器详细介绍1.1 基本概念1.2 核心功能1.3 适用场景2. 如果不使用IK分词器&#xff0c;有哪些替代方案&#xff1f;2.1 默认分词器的局限性2.2 替代方案及对比2.3 示例&#xff1a;Ngram Tokenizer配置3. 如何选择分词器&#xff1f;3.1 决策…

实用软件推荐

作者给大家推荐两个软件&#xff1a;typedown,typora typedown在microsoft上即可下载&#xff0c;免费 如果有更多的需求建议下载typora,typora为付费软件 typora官网&#xff1a;typora官网 typedown下载&#xff1a;typedown下载 作者曾经发布的一些以"md"为后…

地图导航怎么测?

地图导航的测试需要结合功能验证、性能评估和场景模拟等多维度方法,以下是基于行业标准和实践的系统化测试方案: 一、核心测试维度与方法 (一)功能测试:覆盖导航全流程 1、基础功能验证 路线规划:输入起点 / 终点后,验证系统是否能生成最短、最快或避开拥堵的路线,并…

力扣70:爬楼梯

力扣70:爬楼梯题目思路代码题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 思路 首先我们先列出来前几个台阶的答案从第一个开始&#xff1a;1&#xff0c;2&#xff0c;3&#xff0c;5。…

CoRL 2025|隐空间扩散世界模型LaDi-WM大幅提升机器人操作策略的成功率和跨场景泛化能力

内容源自计算机科研圈在机器人操作任务中&#xff0c;预测性策略近年来在具身人工智能领域引起了广泛关注&#xff0c;因为它能够利用预测状态来提升机器人的操作性能。然而&#xff0c;让世界模型预测机器人与物体交互的精确未来状态仍然是一个公认的挑战&#xff0c;尤其是生…

Rust 入门 生命周期-next2 (十九)

生命周期消除实际上&#xff0c;对于编译器来说&#xff0c;每一个引用类型都有一个生命周期&#xff0c;那么为什么我们在使用过程中&#xff0c;很多时候无需标注生命周期&#xff1f;例如&#xff1a;fn first_word(s: &str) -> &str {let bytes s.as_bytes();f…

Three.js 动画循环学习记录

在上一篇文章中&#xff0c;我们学习了Three.js 坐标系系统与单位理解教程&#xff1a; Three.js 坐标系系统与单位理解教程 接下来我们要学习的是Three.js 的动画循环 一、动画循环基础原理 1. 什么是动画循环&#xff1f; 动画循环是连续更新场景状态并重新渲染的过程&am…

ktg-mes 改造成 Saas 系统

ktg-mes 改造成 Saas 系统 快速检验市场&#xff0c;采用最简单的方案&#xff0c;即添加表字段 截止2025年8月16日上传的ktg-mes搭建存在一些问题&#xff0c;搭建可看文章&#xff1a; 搭建ktg-mes 改造 1. 添加租户表 create table sys_tenant (tenant_id bigint au…

【新手易混】find 命令中 -perm 选项的知识点

find 命令是 Linux/Unix 系统中强大的文件查找工具&#xff0c;广泛用于根据文件名、类型、时间、权限等条件搜索文件。其中&#xff0c;-perm 选项用于按文件权限查找文件&#xff0c;而在 -perm /mode 中出现的斜杠 / 是一种特殊的语法&#xff0c;表示“按位或&#xff08;O…

gdb的load命令和传给opeocd的monitor flash write_image erase命令的区别

问&#xff1a; "monitor flash write_image erase ${workspaceFolder}/obj/ylad_led_blink.elf", 和 "load", "executable" : "${workspaceFolder}/obj/ylad_led_blink.elf", 的区别&#xff1f;答&#xff1a; 你提到的 "monit…

1. Docker的介绍和安装

文章目录1. Docker介绍核心概念核心优势与虚拟机的区别一句话总结2. Docker的安装Windows 10/11 安装 Docker Desktop&#xff08;推荐 WSL2 方式&#xff09;Linux&#xff08;以 Ubuntu / Debian 系为例&#xff09;Docker 是一个开源的容器化平台&#xff0c;它允许开发者将…

fastdds.ignore_local_endpoints 属性

Fast DDS 的 fastdds.ignore_local_endpoints 属性用于控制同一 DomainParticipant 下的本地端点&#xff08;即 DataWriter 和 DataReader&#xff09;是否自动匹配。以下是对该功能的详细解释&#xff0c;并翻译为中文&#xff0c;结合其上下文、实现原理和使用场景&#xff…

华清远见25072班C语言学习day11

重点内容:函数&#xff1a;定义&#xff1a;返回值类型 函数名(参数列表) { //函数体 }函数的参数列表中可以有多个数据返回值&#xff1a;如果函数没有返回值可以写成void 返回值的作用&#xff0c;函数的结果用来返回给主调函数的&#xff0c;如果主调函数处不需要函数的结果…

视觉语言导航(7)——VLN的数据集和评估方法 3.2

这是课上做的笔记&#xff0c;因此很多记得比较急&#xff0c;之后会逐步完善&#xff0c;每节课的逻辑流程写在大纲部分。成功率(SR)导航误差(NE)成功加权路径长度&#xff08;SucceedPLength&#xff09;轨迹长度&#xff08;TL&#xff09;先知成功率&#xff08;OS&#xf…

ElasticSearch不同环境同步索引数据

目的&#xff1a;在生产环境把一个索引的数据同步到测试环境中1、在生产环境导出json数据curl -u "adims_user:xkR%cHwR5I9g" -X GET "http://172.18.251.132:9200/unify_info_mb_sp_aggregatetb_0004/_search?scroll1m" -H Content-Type: applicatio…

咨询进阶——解读咨询顾问技能模型

适应人群为咨询行业从业者、咨询团队管理者、想提升咨询技能的职场人士及咨询公司培训人员。主要内容围绕咨询顾问技能模型展开,核心包括五大核心能力(解决问题能力,涵盖洞察力、分析技巧、问题构建等,从识别问题实质到构建新分析方法分层次阐述;管理能力,涉及管理他人与…

2025年- H98-Lc206--51.N皇后(回溯)--Java版

1.题目描述2.思路 二维数组集合 (1&#xff09;N皇后规则 1&#xff09;不能同行&#xff08;同一行不能出现2个皇后&#xff09; 2&#xff09;不能同列&#xff08;同一列不能出现2个皇后&#xff09; 3&#xff09;不能说45度或135度&#xff08;斜对角线不能出现2个皇后&am…

5G + AI + 云:电信技术重塑游戏生态与未来体验

在数字娱乐蓬勃发展的今天&#xff0c;游戏产业已然成为科技创新的前沿阵地。电信网络也经历了一场深刻的蜕变&#xff0c;从最初仅仅是 “内容传输管道”&#xff0c;摇身一变成为与游戏深度绑定的技术共生体。5G 不断刷新着体验的边界&#xff0c;AI 彻底颠覆传统的创作模式&…

【React Hooks】封装的艺术:如何编写高质量的 React 自-定义 Hooks

【React Hooks】封装的艺术&#xff1a;如何编写高质量的 React 自-定义 Hooks 所属专栏&#xff1a; 《前端小技巧集合&#xff1a;让你的代码更优雅高效》 上一篇&#xff1a; 【React State】告别 useState 滥用&#xff1a;何时应该选择 useReducer 作者&#xff1a; 码力…