SpringBoot项目的项目部署全过程

news2024/11/17 21:28:39

一、前端

        安装nginx

        1.将提前准备好的nginx的安装包上传到Linux中/opt目录下(我用的是Xftp)

                

        2.解压

                2.1:在xshell中解压该文件:

                tar -zxvf nginx-1.20.1.tar.gz 

                2.2:进入解压后的目录

                cd nginx-1.20.1/

                2.3:安装需要的依赖

                yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel

        执行过程中还需要指定安装的地址

                ./configure--prefix=/opt/nginx (尽量安装到/opt/nginx目录下)

        编译:

                make install

        3.启动nginx 

                cd  /opt/nginx/sbin    此时进入nginx的sbin (里面是nginx的启动命令)
        启动nginx

                ./nginx

        (可以查看nginx是否启动:)

                (ps -ef |grep nginx   如果有端口即为启动成功)

        4.此时nginx就启动成功了,可以使用ip+端口号访问nginx

        (注意:此时端口号可以省略,会默认补全(80)  http请求默认80端口)

        正式部署前端

        (部署之前记得将全部ip(localhost/127.0.0.1)改为你的云服务器ip)

        1.打包前端项目       

        在前端的命令窗口中输入

                npm run build

       (打包完之后会在你的前端项目中出现一个dist目录,会将你的前端项目压缩为H5页面,最终对外只提供一个HTML文件)

        2.上传

        将dist目录下的所有文件都上传到 /opt/nginx/html 中

        这样前端就上传成功了 

二、数据库

这里我用的是SQLyog,可以远程连接数据库

连接成功后,在你的原数据库中将数据库备份下来

上传数据库

此时你的数据库就上传成功了

(最好将这个sql文件备份一份在后端文件中)

三、后端

1.修改后端配置

 2.修改启动类

        /opt/app.pid为存反复SpringBoot程序的进程id地址

停止SpringBoot服务

        cat /opt/app.pid | xargs kill

3.打包

        使用Maven进行打包       

        打包前记得clean一下,重新编译(compile)

         然后执行package命令

出现这个即为打包成功

将其传输到/opt目录下

         在xshell中输入以下命令;

        java -jar   jar包名称

(记得在云服务器里开启防火墙)

此时我们的项目就部署完成了

但是此时有一个bug,这里SpringBoot项目打开之后不能关闭,否则我们的项目就不能打开了

        我们需要在命令行中输入下面命令:

nohup  java -jar  jar包名称  &             #不挂断地运行命令  (nohup  命令  &)

这样整个项目就部署完成了!! 

(附赠一个命令)

停止springboot服务
    cat /opt/app.pid | xargs kill

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

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

相关文章

如何去掉试卷答案,并打印出来

实际上,针对试卷答案的问题,一个简单而高效的方法是使用图片编辑软件中的“消除笔”功能。只需将试卷拍摄成照片,然后通过这一功能,就可以轻松擦除答案。虽然这种方法可能需要一些时间和耐心,但它确实为我们提供了一个…

Kubernetes 群集部署

一、Kubernetes 概述 1.1、什么是 Kubernetes Kubernetes 是一个可移植、可扩展的开源容器编排系统,主要用于自动化部署、扩展和管理容器应用,提供资源调度、部署管理、服务发现、扩容缩容、监控等功能。对于负载均衡、服务发现、高可用、滚动升级、自…

【智能算法】河马优化算法(HO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献5.代码获取 1.背景 2024年,MH Amiri受到自然界河马社会行为启发,提出了河马优化算法(Hippopotamus Optimization Algorithm, HO)。 2.算法原理 2.1算法思想 …

《无畏契约》游戏画面出现“撕裂感“,你清楚背后的原理吗?

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏:🍕 Collection与数据结构 (91平均质量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm1001.2014.3001.5482 🧀Java …

LangChain 核心模块学习 模型输入 Prompts

模型输入 Prompts 一个语言模型的提示是用户提供的一组指令或输入,用于引导模型的响应,帮助它理解上下文并生成相关和连贯的基于语言的输出,例如回答问题、完成句子或进行对话。 提示模板(Prompt Templates)&#xf…

一篇文章带你入门CSRF

1.什么是CSRF 用一个形象生动的比喻就是: 你给朋友的房子留下了备用钥匙,但是有人偷偷拿走了这把钥匙,然后用这把钥匙进入了你朋友的房子并做了各种坏事。你朋友以为只有你能使用这把钥匙,所以没对任何操作产生怀疑。 在这个比…

保研机试之【设备驱动程序】

B选项: 综上,我认为这道题选择D~

从头开始学Spring—02基于XML管理bean

目录 1.实验一:入门案例 2.实验二:获取bean 3.实验三:依赖注入之setter注入 4.实验四:依赖注入之构造器注入 5.实验五:特殊值处理 6.实验六:为类类型属性赋值 7.实验七:为数组类型属性赋值…

Charger之三动态电源路径管理(DPPM)

-----本文简介----- 主要内容包括: 领资料:点下方↓名片关注回复:粉丝群 硬件之路学习笔记公众号 Charger的动态电源路径管理(DPPM) 前篇内容:①电池管理IC(Charger)了解一下&…

国产分布式数据库高可用故障检测实现

在分布式数据库架构下,当数据库节点异常时,数据库管理组件能够自动感知到异常并触发节点隔离或者自动切换,是数据库高可用容灾的基本能力。在节点服务器异常、网络异常或进程异常等场景下,各数据库产品本身已经具备了可靠的检测能…

C#之如何判断数据类型

一、GetType方法 a.GetType():获取当前变量的类型对象 string str "Hello World";Console.WriteLine(str.GetType()); 结果: 二、typeof方法 typeof(Int):获取的是Int类型的类型对象 int num 10;Console.WriteLine(num.GetType() typeof(i…

NSSCTF中的1zjs、作业管理系统、finalrce、websign、简单包含、Http pro max plus

目录 [LitCTF 2023]1zjs [LitCTF 2023]作业管理系统 [SWPUCTF 2021 新生赛]finalrce exec()函数:php中exec介绍及使用_php exec-CSDN博客​​​​​​ 资料参考:RCE(远程命令执行)绕过总结_rce绕过-CSDN博客 [UUCTF 2022 新生赛]websign [鹏城杯 …

Python实现麦克风录音保存到wav

功能展示: 运行环境: Python: 3.10.4 64-bit 操作系统: 截图环境:win10 64-bit 视频录屏环境:win10 64-bit 功能说明: 点击界面开始按钮开始录音,点击停止按钮结束录音。 源码文件列表&…

Linux的命名管道 共享内存

目录 命名管道 mkfifo函数 unlink函数 命名管道类 服务端 客户端 共享内存 shmget函数 ftok函数 key和shmid的区别 snprintf函数 ipcs指令 ipcrm指令 shmctl函数 shmat函数 void*做返回值 创建共享内存空间 服务端 客户端 命名管道 基本概念&#xff1…

OpenAI GPT-4

本文翻译整理自:https://openai.com/index/gpt-4-research/ (March 14, 2023) 文章目录 一、关于 GPT-4二、能力视觉输入Visual inputs: chart reasoningSample 2 of 7 操纵性Steerability: Socratic tutorSample 1 of 3 三、局限性四、风险与缓解措施五、训练流程…

鱼哥好书分享活动第22期:《数字政府网络安全合规性建设指南》解锁数字政府网络安全新篇章

鱼哥好书分享活动第22期:《《数字政府网络安全合规性建设指南》》解锁数字政府网络安全新篇章 阅读对象:书籍目录:了解更多:赠书抽奖规则: 当今时代,数据已成为新型生产要素,不仅是个人、企业乃至国家的重要…

enable_shared_from_this使用笔记

解决了&#xff1a; 不能通过原指针增加引用次数的问题 &#xff0c;通过weak_ptr实现。 class MyCar:public std::enable_shared_from_this<MyCar> { public:~MyCar() { std::cout << "free ~Mycar()" << std::endl; } };int main() { MyCar* _…

算法-卡尔曼滤波之基本数学的概念

1.均值 定义&#xff1a;均值是一组数据中所有数值的总和除以数据的数量。均值是数据的中心趋势的一种度量&#xff0c;通常用符号 xˉ 表示。 &#xff1a;对于包含 n 个数据的数据集 {&#x1d465;1,&#x1d465;2,...,&#x1d465;&#x1d45b;}&#xff0c;均值 xˉ 计…

高扩展性便携式1553B总线测试仪,支持麒麟操作系统

手提式便携1553B总线测试仪&#xff0c;利用订制平台的PXIe扩展槽嵌入石竹科技自主研发的高性能T系列专用1553B测试板卡和高级协议分析和测试软件FP-1553B Pro、FP-5186集成的一款模块化、功能可订制的测试仪器。 基本配置可对1553B信号进行波形采集&#xff08;提供软件示波器…

goconvey测试框架的使用

尽管Golang已经内置了功能强大的testing包&#xff0c;其易用性令人称赞。然而&#xff0c;当我们希望更直观地处理和判断测试结果时&#xff0c;结合使用goconvey能为我们提供极大的便利。goconvey不仅为我们提供了丰富的断言函数&#xff0c;这些函数还极大地方便了我们在进行…