【原生部署】SpringBoot+Vue前后端分离项目

news2025/1/17 4:01:04

本次主要讲解SpringBoot+Vue前后端完全分离项目在CentOS云服务器上的环境搭建与部署过程,我们主要讲解原生部署。

一.原生部署概念

原生部署是指将应用程序(一般是指软件、应用或服务)在底层的操作系统环境中直接运行和部署,而不依赖于额外的中间件、框架或虚拟化技术。
在原生部署中,应用程序直接与操作系统进行交互,并利用操作系统提供的资源和功能来执行任务。这种部署方式通常需要考虑操作系统的兼容性和依赖项,以确保应用程序能够正确地在目标操作系统上运行。
原生部署的优点包括:

  1. 性能高:由于没有中间层的额外开销,原生部署的应用程序可以更直接地访问底层系统资源,从而获得更好的性能。
  2. 可控性强:可以直接控制操作系统环境和配置,更容易进行定制和优化,以满足特定的需求。
  3. 可移植性好:原生部署允许将应用程序部署到多个操作系统上,从而实现跨平台的可移植性。

存在的问题:

  1. 平台依赖性:原生部署的应用程序在不同的操作系统或架构上可能会有不兼容性的问题,需要做额外的适配。
  2. 部署复杂性:原生部署通常需要手动进行配置和安装,可能需要额外的管理和维护工作。
  3. 扩展性和弹性:相对于一些云原生或容器化部署方式,原生部署可能在扩展性和弹性方面具有一定的限制。

二.确定所需环境

为了能让项目正常运行,我们需要在Linux服务器上安装了以下软件和工具:
SpringBoot项目:

  • Java Development Kit(JDK): Spring Boot 是一个 Java 框架,需要 JDK来编译和运行。因为 SpringBoot 内嵌 Tomcat,因此我们无需再安装 Tomcat 服务器。
  • Maven: Maven 是一个用于构建和管理 Java 项目的强大工具。 它提供了一种规范化的项目结构和一组标准化的构建配置,以简化项目的构建、依赖管理和项目报告等任务。
  • MySQL(根据项目需要安装):MySQL 是一个强大、稳定且易于使用的关系型数据库管理系统,可以用来存储系统执行时产生的数据。
  • Redis(根据项目需要安装):Redis 是一种开源的基于内存的键值存储系统,也被称为数据结构服务器。由于 Redis 的高性能和基于内存的特性,它常常被用作缓存服务器。将常用的数据放在 Redis 中可以加快数据访问速度,减轻后端数据库的负载。

Vue.js项目:

  • Node.js和npm: Vue.js是一个JavaScript框架,使用Node.js作为运行环境。安装Node.js会自动安装npm(Node包管理器)。
  • Nginx:Nginx 是一个高性能的HTTP和反向代理web服务器。

工具库:

  • Git:Git 是一个分布式版本控制系统,广泛用于协作开发和源代码管理。上传项目代码服务器有两种方式:一是直接从本地拖拽代码文件上传到服务器上,二是使用Git在第三方代码托管平台下载我们上传的代码。

三.搭建环境

注:左边>>右边左边的代表所在文件目录,右边代表的是Linux指令。

1)Java安装

我们可以通过CentOS服务器上的yum指令快速安装好Java环境。

  1. yum安装不用配置环境变量,它直接帮我们安装好了
~>> yum install -y java-1.8.0-openjdk*
  1. 查看java版本,安装成功
~>> java -version
#openjdk version "1.8.0_322"
#OpenJDK Runtime Environment (build 1.8.0_322-b06)
#OpenJDK 64-Bit Server VM (build 25.322-b06, mixed mode)

2)Maven安装

  1. 切换到用来存放软件的目录(自己选择存放位置)
~>> cd /root/services/
  1. 使用curl在线下载Maven安装包
services>> curl -o apache-maven-3.8.5-bin.tar.gz https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz
  1. 查看我们下载的安装包
services>> ls
#apache-maven-3.8.5-bin.tar.gz  
  1. 使用tar对压缩包进行解压
services>> tar -zxvf apache-maven-3.8.5-bin.tar.gz
  1. 查看解压出来的安装包
services>> ls
#apache-maven-3.8.5  #apache-maven-3.8.5-bin.tar.gz             
  1. 进入到Maven的bin目录查看可执行文件所在路径
services>> cd apache-maven-3.8.5
apache-maven-3.8.5>> cd bin
bin>> ls
#m2.conf  mvn  mvn.cmd  mvnDebug  mvnDebug.cmd  mvnyjp
//这里的mvn是maven的可执行文件,咱们就是用这个文件去构建项目
  1. 查看并复制当前所在目录路径
bin>> pwd
#/root/services/apache-maven-3.8.5/bin
  1. 添加mvn到环境变量
bin>> vim /etc/profile

按下shift+g将光标定位到最后一行,在path后面添加Maven可执行文件所在路径: /root/services/apache-maven-3.8.5/bin
image.png
编辑完成后按ESC键退出编辑模式,输入:wq然后按下回车键保存退出。

  1. 使文件修改生效
bin>> source /etc/profile
  1. 切换到一个非Maven可执行文件所在目录,例如services,看看环境变量配置是否设置成功,查看maven版本
bin>> cd /root/services/
services>> mvn -v
#Apache Maven 3.8.5 (3599d3414f046de2324203b78ddcf9b5e4388aa0)
#Maven home: /root/services/apache-maven-3.8.5
#Java version: 1.8.0_322, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre
#Default locale: en_US, platform encoding: UTF-8
#OS name: "linux", version: "3.10.0-1160.45.1.el7.x86_64", arch: "amd64", family: "unix"

3)Git安装

  1. Git的下载方式与Java一致
services>> yum install -y git
  1. 查看git版本,检测是否下载成功
services>> git --version
git version 1.8.3.1

4)MySQL安装

(遇到选择都输入y即可)

  1. 下载mysql
services>> yum install mysql
  1. 下载mysql-server(3条指令分别执行)
services>> wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
services>> rpm -ivh mysql-community-release-el7-5.noarch.rpm
services>> yum install mysql-community-server
  1. 下载mysql-devel
services>> yum install mysql-devel
  1. 安装完成后启动MySQL服务
services>> systemctl start mysqld
  1. 设置mysql服务开机自启动
services>> systemctl enable mysqld

MySQL数据库相关指令:

systemctl disable mysqld  //停止mysql服务开机自启动
systemctl status mysqld //查看mysql服务当前状态
systemctl restart mysqld //重启mysql服务
systemctl stop mysqld //停止mysql服务
  1. 初次安装mysql,root账户没有密码,为了保证数据库的安装,我们需要设置一个比较复杂的密码,首先进入到mysql内部:
services>> mysql -u root 
#Welcome to the MySQL monitor.  Commands end with ; or \g.
#Your MySQL connection id is 2
#Server version: 5.6.51 MySQL Community Server (GPL)...
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
mysql>
  1. 进入到mysql内部后输入如下命令设置密码
 mysql> set password for 'root'@'localhost' =password('root用户密码');
  1. (接下来为可选步骤,如若不进行,连接时使用root账户)为了安全起见,强烈建议在远程连接的时候使用非root账户,我们需新建一个账户并授予权限
 mysql> create user '用户名'@'%' identified by '密码' with grant option;
 或者
 mysql> create user '用户名'@'%' identified with mysql_native_password by '密码';
 
注意:mysql8.0及以上版本需要使用以下语句:
mysql> create user 用户名@'%' identified by '密码';
  1. (步骤8配套可选项)把在所有数据库的所有表的所有权限赋值给该新建用户
mysql> grant all privileges on *.* to 用户名@'%' with grant option;
  1. (步骤8配套可选项)刷新权限使操作生效,并退出mysql
mysql> FLUSH PRIVILEGES;
mysql> quit
Bye
  1. 修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,配置mysql默认编码为utf-8:
>> vim /etc/my.cnf
 [mysqld]
 character_set_server=utf8
 init_connect='SET NAMES utf8'

输入vim /etc/my.cnf 进入到文件内,按 i 进入编辑模式,把编码配置粘贴到[mysqld]的下面。

添加完编码配置后,按ESC键退出编辑模式,输入:wq并按回车,重新回到命令行界面

  1. 重启MySQL
>> systemctl restart mysqld

5)Nginx安装

  1. 进入到nginx 官网,选择需要安装的版本,点击鼠标右键复制链接地址

  1. 把nginx安装包下载下来,并改名为nginx-1.20.2.tar.gz
services>> curl -o nginx-1.20.2.tar.gz http://nginx.org/download/nginx-1.20.2.tar.gz
#  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
#                                 Dload  Upload   Total   Spent    Left  Speed
#100 1037k  100 1037k    0     0  48743      0  0:00:21  0:00:21 --:--:-- 46562
services>> ls
#  nginx-1.20.2.tar.gz
  1. 解压压缩包
services>> tar -zxvf nginx-1.20.2.tar.gz
services>> ls
# nginx-1.20.2  nginx-1.20.2.tar.gz
  1. 进入到nginx目录
nginx-1.20.2>> cd nginx-1.20.2
nginx-1.20.2>> ls
#auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src
  1. 安装相关依赖
nginx-1.20.2>> yum install pcre pcre-devel -y
nginx-1.20.2>> yum install openssl openssl-devel -y
  1. 设置系统配置参数
nginx-1.20.2>> ./configure --with-http_ssl_module --with-http_v2_module --with-stream
  1. 开始编译
nginx-1.20.2>> make

# 如果编译报错:make: *** No rule to make target `build', needed by `default'.  Stop.
# 则需要安装下面配置
# 安装下面配置
>> yum -y install make zlib-devel gcc-c++ libtool openssl openssl-devel
# 重新configure
>> ./configure 
# 编译
>> make
  1. 安装
nginx-1.20.2>> make install 
  1. 配置环境变量
nginx-1.20.2>> vim /etc/profile 

# 按下shift+g将光标定位到最后一行,新增以下内容:
export PATH=$PATH:/usr/local/nginx/sbin	

按 i 进入编辑模式,把新增的内容放到/etc/profile 文件内的最后一行就可以了,按ESC键退出编辑模式,然后输入:wq 再按下enter即可保存退出

  1. 使文件修改生效
source /etc/profile
  1. 查看当前所有tcp端口/查看启动情况,可以看到我们启动的MySQL和Nginx服务
nginx-1.20.2>> netstat -ntlp
Active Internet connections (only servers)
#Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
#tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      8210/nginx: master
#tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1648/sshd      
#tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1120/master    
#tcp6       0      0 :::22                   :::*                    LISTEN      1648/sshd      
#tcp6       0      0 ::1:25                  :::*                    LISTEN      1120/master    
#tcp6       0      0 :::3306                 :::*                    LISTEN      10626/mysqld 

6)Redis安装

  1. 进入到redis 官网,选择需要安装的版本,点击鼠标右键复制链接地址

image.png

  1. 在服务器上使用命令在线下载,并改名为redis-6.2.5.tar.gz
~>> curl -o redis-6.2.5.tar.gz http://download.redis.io/releases/redis-6.2.5.tar.gz
  1. 解压文件
~>> tar -zxvf redis-6.2.5.tar.gz
  1. 安装gcc依赖环境,由于Redis依赖于gcc环境,并且Redis 6需要gcc版本至少是gcc7以上
~>> yum install gcc
  1. 编译并安装
#切换到 redis目录
~>> cd redis-6.2.5/
# 编译
redis-6.2.5>> make
# 安装
redis-6.2.5>> make install
  1. 切换到默认安装路径为/usr/local/bin目录
# 切换到安装路径
redis-6.2.5>> cd /usr/local/bin
# 查看文件
bin>> ls

  1. 启动redis:redis的启动分为两种方式:前台启动和后台启动。由于前台启动后,命令行界面不能再执行其他操作,且命令行界面关闭后,redis也会随即关闭,所以不推荐使用。
  • 前台启动命令(bin目录下)
bin>> redis-serve

image.png

  • 后台启动:Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
bin>> cd /root/redis-6.2.5
redis-6.2.5>> cp redis.conf redis.conf.bak
redis-6.2.5>> vim redis.conf

在vim界面命令行模式下输入/daemonize no进行查找,然后按i进入编辑模式,并将该内容修改为··daemonize yes··,然后按Esc键,输入:wq再按enter键保存退出

重新切换到bin目录启动则是后台运行了

redis-6.2.5>> cd /usr/local/bin
bin>> redis-server /root/redis-6.2.5/redis.conf

image.png

  1. 设置密码,没有密码肯定是不安全的
bin>> cd /root/redis-6.2.5
redis-6.2.5>> vim redis.conf

在vim界面命令行模式下输入/requirepass进行查找,然后按i进入编辑模式,在右边输入密码,然后按Esc键,输入:wq再按enter键保存退出
image.png

  1. 关掉redis并重新启动
bin>> redis-cli shutdown
bin>> redis-server /root/redis-6.2.5/redis.conf
  1. 启动并输入密码重新进入

image.png

7)Node.js安装

  1. 进入到node.js,选择需要安装的版本,点击鼠标右键复制链接地址

image.png

  1. 在服务器上使用命令在线下载,并改名为node-v20.10.0.tar.gz
~>> curl -o node-v16.15.1.tar.gz https://nodejs.org/dist/v16.15.1/node-v16.15.1-linux-x64.tar.gz
  1. 解压压缩包
~>> tar -xvf node-v16.15.1.tar.gz
  1. 切换到bin目录下,查看是否安装成功
~>> cd node-v16.15.1-linux-x64/bin
bin>> ./node -v
# v16.15.1
  1. 获取bin文件路径,配置环境变量
~>> pwd
# /root/node-v16.15.1-linux-x64/bin
~>> vim /etc/profile

在vim界面命令行模式下,然后按i进入编辑模式,在最后配置bin目录所在路径/root/node-v16.15.1-linux-x64/bin,然后按Esc键,输入:wq再按enter键保存退出
image.png

  1. 使配置文件生效
source /etc/profile
  1. 在其他目录输入指令查看是否配置生效,如下表示生效

image.png

四.项目部署

项目所需的基本环境我们已经全部搭建完毕,上述环境并不是一定全部都得用到,我们有两套部署方案:

  • JAVA、MySQL、Redis、Nginx:本地打包好前后端项目,然后上传到服务器上直接部署运行即可。
  • JAVA、MySQL、Redis、Nginx、Node.js、Git、Maven:使用Git从远程代码仓库拉下代码,springboot项目使用maven进行打包编译,vue.js项目使用node.js打包编译,最后再部署运行即可。

由于第二种方案步骤完全覆盖第一种方案,我们便主要讲解第二种方案。非常重要的一点是最后在防火墙开启项目使用到的端口号!!!

1)拉取代码

使用如下指令拉取远程代码仓库前后端项目代码即可

~>> git clone https://xxxxxxx代码地址xxxxxx

2)打包部署

  • 前端项目(这一步主要是为了获取dist文件,也就是说可以自己在本地打包好后直接上传dist文件):
  1. 切换到拉下的前端项目里
~>> cd 前端项目名
  1. 进行打包构建,在项目根目录下运行以下命令:
前端项目名>> npm run build

这将生成一个dist目录,其中包含一组静态文件,包括HTML、CSS和JavaScript文件。

  1. 修改Nginx配置文件,设置前端项目所在路径
前端项目名>> cd /usr/local/nginx/conf

conf>> vim nginx.conf

修改文件内容为:
user  root;(修改的地方)
worker_processes  1;
....(省略)....
location / {
  root   /root/services/前端项目名/dist;(前端项目dist目录路径)
  index  index.html index.htm;
}
....(省略)....
然后按ESC键退出编辑模式,按 :wq  保存退出 

image.png

  1. 更新配置文件
conf>> nginx -s reload
  1. 如此我们便完成了前端项目的部署,最后需要自己去防火墙开放使用到的端口号
  • 后端项目(这一步主要是为了获取jar包,也就是说可以自己在本地打包好后直接上传jar包):
  1. 切换到拉下的后端项目里面
~>> cd 后端项目名
  1. 在项目根目录下运行以下命令,进行打包构建,跳过测试
后端项目名>> mvn package -DskipTests
  1. Maven将在项目目录下生成一个target目录,其中包含我们需要的可执行JAR文件。
后端项目名>> cd target
  1. 启动项目(执行jar包)
target>> java -jar ./自己打包出来的.jar --spring.profiles.active=prod
# 当然这么用的话,这个窗口就不能做任何事了,被这个命令占满了,按ctrl+c中断它
# 让它在后台运行
target>> nohup java -jar ./自己打包出来的.jar --spring.profiles.active=prod &
  1. 如此我们便完成了后端项目的部署,最后需要自己去防火墙开放使用到的端口号
# 可以看见它正在运行
user-center-backend>> jobs
#[1]+  Running                 nohup java -jar ./后端项目名.jar --spring.profiles.active=prod &

//这里可以看到java在8080端口启动了
user-center-backend>> netstat -ntlp
#Active Internet connections (only servers)
#Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
#tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1393/sshd      
#tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1396/master    
#tcp6       0      0 :::3306                 :::*                    LISTEN      1441/mysqld    
#tcp6       0      0 :::8080                 :::*                    LISTEN      4367/java      
#tcp6       0      0 :::22                   :::*                    LISTEN      1393/sshd      
#tcp6       0      0 ::1:25                  :::*                    LISTEN      1396/master 

//用jps也可以看到运行的java程序
user-center-backend>> jps
#7298 Jps
#4367 后端项目名.jar
  1. 后端项目管理常用命令
# 1.关闭后台Java项目
# 1.1.查看过滤出Java项目
ps -elf |grep java
# 1.2 根据pid杀死进程
kill -9 PID

# 2 查看后台启动项目
jobs # 查看后台项目
netstat -ntlp # 查看端口占用情况
jps # 查看运行的Java程序

# 3.日志查看
# 查看最新100行日志
tail -n 100 nohup.out | more
# 实时查看日志
tail -f nohup.out

至此我们便算是完成了整个项目的开发环境搭建与部署~

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

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

相关文章

SAP CO11N报工批次分割(拆分)

CO11N做报工的时候,下阶料启用了批次,比如需要过账4166个,但是每一批次的库存都不满足4166个,所以需要拆分(分割)处理 这个时候我们就需要对这一行做分割处理 选中这一行,点击‘分割’按钮 弹…

认识Linux指令之 “ head tail ” 命令

01.head指令 head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。 语法: head [参数]... [文件]... 功能&#…

thinkphp学习06-连接数据库与模型初探

新建数据库 CREATE DATABASE tp6stu01 CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;创建表和数据 DROP TABLE IF EXISTS tp_user; CREATE TABLE tp_user (id mediumint(8) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 自动编号,username varchar(20) CHARACTER SET utf8 COLL…

删除的文件如何恢复? 9 个简单的数据恢复软件方法分享

无论是由于软件或硬件故障、网络犯罪还是意外删除,数据丢失都会让人感到压力和不快。 数据丢失的主要原因是意外删除,任何人都可能随时发生这种情况,尽管他们知道应该备份数据。毕竟,犯错是人之常情! 如果是&#xf…

7 集中式日志和分布式跟踪

文章目录 日志聚合模式日志集中化的简单解决方案使用日志并输出分布式跟踪Spring Cloud Sleuth实现分布式跟踪 小结 前面的文章: 1、 1 一个测试驱动的Spring Boot应用程序开发 2、 2 使用React构造前端应用 3、 3 试驱动的Spring Boot应用程序开发数据层示例 4、…

笔记本摄像头模拟监控推送RTSP流

使用笔记本摄像头模拟监控推送RTSP流 一、基础安装软件准备 本文使用软件下载链接:下载地址 FFmpeg软件: Download ffmpeg 选择Windows builds by BtbN 一个完整的跨平台解决方案,用于录制、转换和流式传输音频和视频。 EasyDarwin软件:Download Easy…

【链表】力扣206反转链表

题目 力扣206反转链表 思路图解 代码实现 双指针代码实现 public static ListNode reverseList(ListNode head) {// 初始化pre,curListNode pre null;ListNode cur head;// 当cur为null时,说明反转结束while(cur ! null) {// 临时保存cur.next节点…

目标检测-One Stage-YOLOx

文章目录 前言一、YOLOx的网络结构和流程1.YOLOx的不同版本2.Yolox-Darknet53YOLOv3 baselineYolox-Darknet53 3.Yolox-s/Yolox-m/Yolox-l/Yolox-x4.Yolox-Nano/Yolox-Tiny 二、YOLOx的创新点总结 前言 根据前文CenterNet、YOLOv4等可以看出学界和工业界都在积极探索使用各种t…

解决在eclipse2021中,用mysql-connector-java-8.0.18.jar不兼容,导致无法访问数据库问题

1.环境场景 组件版本mysql5.7.44mysql-connector-java80.18 2. 问题描述 报mysql-connector-java 驱动连不上mysql数据库。 3. 可能的原因分析 查看数据库连接句柄是否对 如果数据库连接句柄中没有 useSSLfalse 的话可能会导致这样的问题。 就像下面这样: jdb…

认识Linux指令之 “more less” 命令

01.more命令 语法:more [选项][文件] 功能:more命令,功能类似 cat 常用选项: -n 对输出的所有行编号 q 退出more cat适合打开查看一些小文件 当遇到大文本文件的时候,使用more命令,more可以打满一屏…

GPT大模型在生物、地球、农业、气象、生态、环境科学可以应用?

以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千问为代表AI大语言模型带来了新一波人工智能浪潮,可以面向科研选题、思维导图、数据清洗、统计分析、高级编程、代码调试、算法学习、论文检索、写作、翻译、润色、文献辅助…

银河麒麟服务器系统安装KVM和创建KVM虚拟机

银河麒麟服务器系统安装KVM和创建KVM虚拟机 一 KVM概念二 安装KVM组件2.1 安装KVM前提2.2 KVM管理工具2.3 KVM安装2.3.1 安装kvm组件2.3.2 启动服务并设置开机自启 三 创建&管理虚拟机3.1 创建虚拟机3.2 安装过程3.2.1 选择安装方式3.2.2 选择安装ISO文件3.2.3选择内存和CP…

微信扫码进入小程序特定页面

小程序配置 开发 - 开发管理 - 开发设置-普通链接二维码打开小程序 配置好的截图 如下:二维码规则建议是自己的域名 /mini/ 功能页面 pages/index/index 是为了方便跳转其他页面 记得把校验文件发给后端 web 端处理 二维码格式为:二维码规则/功能页…

单调栈练习(二)— 柱状图中最大的矩形

题目: 这是一道LeetCode上的原题:链接地址 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 思路 因为是力扣原题,所…

怎样在Anaconda下安装pytorch(conda安装和pip安装)

前言 文字说明 本文中标红的,代表的是我认为比较重要的。 版本说明 python环境配置:jupyter的base环境下的python是3.10版本。CUDA配置是:CUDA11.6。目前pytorch官网提示支持的版本是3.7-3.9 本文主要用来记录自己在安装pytorch中出现的问…

@DependsOn:解析 Spring 中的依赖关系之艺术

欢迎来到我的博客,代码的世界里,每一行都是一个故事 DependsOn:解析 Spring 中的依赖关系之艺术 前言简介基础用法高级用法在 XML 配置中使用 DependsOn通过 Java Config 配置实现依赖管理 生命周期与初始化顺序Bean 生命周期的关键阶段&…

FPGA 高端项目:基于 SGMII 接口的 UDP 协议栈,提供2套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐我这里已有的以太网方案本协议栈的 1G-UDP版本本协议栈的 10G-UDP版本本协议栈的 25G-UDP版本1G 千兆网 TCP-->服务器 方案1G 千兆网 TCP-->客户端 方案10G 万兆网 TCP-->服务器客户端 方案 3、该UDP协议栈性能4、详细设计方案设…

HTML5 article标签,<time>...</time>标签和pubdate属性的运用

1、<article>...</article>标签的运用 article标签代表文档、页面或应用程序中独立的、完整的、可以独自被外部引用的内容。它可以是一篇博客或报竟杂志中的文章、一篇论坛帖子、一段用户评论或一个独立的插件&#xff0c;或者其他任何独立的内容。把文章正文放在h…

奇偶大冒险(判断奇偶,逆序输出)

题目&#xff1a; 代码&#xff1a; #include <bits/stdc.h> using namespace std; int main(){int n;cin>>n;int i0;int c[100]{0}; //数组初始化 while(n!1) {if(n%21){ //判断奇数 c[i]n;n3*n1;i;}else if(n%20){ //判断偶数 c[i]n;nn…

flutter 打包安卓apk 常用配置

打包之前需要先不配置不然会报错 Execution failed for task ‘:app:mergeReleaseResources’. APP目录下的build.gradleaaptOptions.cruncherEnabled falseaaptOptions.useNewCruncher false如图 配置targetSdkVersion 、minSdkVersion 在android/app/src目录下的build.…