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

07.部署springboot项目到Ubuntu

1.在本地计算机安装 FinalShell

2.给 Ubuntu 里面安排“迎宾员”(SSH 服务)

  • 回到 Ubuntu 虚拟机本体
#1.先更新一下软件源sudo apt update
#2.安装 SSH 远程连接服务sudo apt install openssh-server -y
#3.确认服务已经跑起来了sudo systemctl status ssh

现在就可以去 FinalShell 连接 Linux 啦

现在开始配置Linux环境

  1. 更新系统的软件目录(必做),这就像是去超市采购前,先拿一份最新的商品价目表,确保等会儿下载的都是最新软件:
sudo apt update
  1. 安装 Java 运行环境 (JDK),Spring Boot 后端需要 Java 才能跑。这里以目前企业最主流的 Java 17 为例(如果你的项目用的是老版本的 Java 8,就把 17 换成 8):
sudo apt install openjdk-17-jdk -y
  1. 安装 MySQL 数据库,下面命令默认安装最新版本
sudo apt install mysql-server -y
  1. 安装 Nginx 服务器
sudo apt install nginx -y

操作数据库 Ubuntu 里把数据“复活” (导入 MySQL)

  • 登录服务器的 MySQL:
sudo mysql
  • 创建一个空数据库
CREATE DATABASE `bike-sharing-system-db` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  • 进入这个数据库
USE `bike-sharing-system-db`;
  • 导入传上来的 SQL 文件
SOURCE /home/yulangfei/你的文件名.sql;

开始部署后端

1.首先要切换到 jar 包所在的目录

cd JavaProject
  1. 打包时把那张“启动说明书”塞进去(重点重点)
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>
</build>

如果没有这个的话,打包出来会报错 no main manifest attribute

2.启动步骤

nohup java -jar bike-sharing-system-1.0-SNAPSHOT.jar > app.log 2>&1 &#查看日志监控tail -f app.log

至此,后端部署成功!

部署前端

#1.打包命令
npm run build#2.交给 Nginx 托管,把 Nginx 默认的欢迎页面删掉(清理旧桌子)
sudo rm -rf /var/www/html/*#3.把刚才传上来的 dist 里面的所有文件,全盘拷贝到 Nginx 的展示区
sudo cp -r /home/yulangfei/dist/* /var/www/html/
http://www.jsqmd.com/news/472106/

相关文章:

  • IPED元数据提取工具:从损坏文件中恢复关键信息
  • Linux Lab实战:3步编译运行自定义Linux内核模块
  • 如何使用Windows Local Privilege Escalation Cookbook快速搭建漏洞测试环境
  • EF Core 并发冲突实战:乐观锁、RowVersion 与 DbUpdateConcurrencyException 怎么处理 - ryan
  • IPED与AI模型部署:将模型集成到取证流程的5个关键步骤
  • favicons-webpack-plugin零配置使用:一行代码搞定全平台图标
  • SSDTTime与其他ACPI工具对比:为什么它能脱颖而出?
  • IPED时间线过滤预设:保存常用过滤条件的完整指南
  • 更改表的字符集,支持标签
  • 不止于昔日“核弹”:2026年Log4j漏洞的持久战与新战线
  • 从0到1使用React-Bulma-Components构建一个完整的React应用
  • IPED工作流导出导入:分享与复用流程配置的功能
  • 2026制造业短视频营销TOP5名单公布,无锡现状与趋势数据出炉。 - 精选优质企业推荐榜
  • 100元以内的香港云服务器,能支撑日均1万IP的电商站吗?
  • TIS插件文档生成:使用Swagger自动生成API文档
  • 【2026年制造业短视频营销TOP5趋势发布】 - 精选优质企业推荐榜
  • 嵌入式设备性能优化:基于RPi-Monitor的系统资源监控与调优策略
  • Sharry数据库设计与文件存储机制:深入理解数据持久化方案
  • 分期乐微信立减金如何快捷回收,教你三步解决! - 猎卡回收公众号
  • 为什么选择Bochs?跨平台x86模拟的核心优势解析
  • 最终最佳实践操作文档:统信UOS VSCode 全栈开发环境配置(基于 Chromium 浏览器)
  • 2026四川电缆回收哪家强?区域再生资源回收企业专业测评TOP榜 - 深度智识库
  • animatediff-cli-prompt-travel:AI动画创作新革命,让文字轻松变为流畅视频
  • ExAdmin关联关系处理:has_many与many_to_many的最佳实践
  • 2026年全国小型电动环卫车哪家好?可靠优质 实力强值得信赖 口碑佳适配各类场景 - 深度智识库
  • Vimperator新手入门:5分钟学会用Vim命令提升浏览器操作效率
  • yolo-tensorrt核心API解析:Detector类与Config结构体的使用技巧
  • testfixtures并行测试策略:4种方案助你大幅缩短测试时间
  • 淬炼数字内核,锻造智造未来:无锡哲讯以ERP解决方案赋能金属加工企业转型升级
  • matrixmultiplication.xyz部署教程:本地搭建交互式矩阵乘法学习环境