一、本地打包上传服务器后部署

推荐第一种

springboot项目中手动打包

打包依赖

 <parent><artifactId>spring-boot-dependencies</artifactId><groupId>org.springframework.boot</groupId><version>2.3.3.RELEASE</version></parent>

他包含了

<!--将应用打包成一个可以执行的jar包--><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>

但建议还是自己写一个 build 标签
build详细配置参考文章https://www.cnblogs.com/whx7762/p/7911890.html

 <!--将应用打包成一个可以执行的jar包--><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build>

打包

jar包位置

用winSCP上传到服务器/data/tmp文件里

启动项目:把jar复制到程序目录,通过java命令行的方式启动jar包文件。因为本项目是使用了spring boot框架,所以jar中内置了web容器,不需要额外安装tomcat了。mkdir -p /data/app/pro-stuleave-bootcd /data/tmpmv /data/tmp/pro-stuleave-boot-1.0.jar /data/app/pro-stuleave-boot/cd /data/app/pro-stuleave-bootnohup java -jar pro-stuleave-boot-1.0.jar &#如果出现:nohup: ignoring input and redirecting stderr to stdout
#意思是 :忽略输入并将输出附加到`nohup.out’
他在当前目录创建了一个nohup.out文件记录日志
直接回车
然后输
tail -300f nohup.out
程序就正常启动了也可以不执行nohup java -jar pro-stuleave-boot-1.0.jar &
执行这条命令
nohup java -jar kaoqin20210327.jar >nohup.out 2>&1 &
或者自定义日志文件位置
-------------------------------------------
#这种方法会把日志文件输入到你指定的文件中,没有则会自动创建。进程会在后台运行。
nohup java -jar pro-stuleave-boot-1.0.jar >temp.txt &#如果出现:nohup: ignoring input and redirecting stderr to stdout
#意思是 :忽略输入并将输出附加到`nohup.out’直接回车
然后输
#查看日志,验证项目是否成功运行。
tail -300f temp.txt
程序就正常启动了
启动成功后按Ctrl+c退出项目,项目也不会停止运行Linux运行jar包与停止命令
a、执行jar包的命令和在windows操作系统上是一样的,都是java -jar xxxx.jar。
b、后台运行,nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
#当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。
#nohup java -jar pro-stuleave-boot-1.0.jarc、如果想杀掉运行中的jar程序,查看进程命令为:
ps aux|grep pro-stuleave-boot-1.0.jar将会看到此jar的进程信息
root     22337  0.5 18.1 3123956 347272 pts/1  Sl   16:48   0:11 java -jar pro-stuleave-boot-1.0.jar
root     22521  0.0  0.1 221592  2408 pts/2    S+   17:26   0:00 grep --color=auto pro-stuleave-boot-1.0.jar其中22337则为此jar的pid,杀掉命令为
kill -9 22337启动项目重复上述操作

二、服务器使用git命令下拉项目并打包后部署过程

注意:maven中仍需要向上面一样的配置

1.从git仓库clone下来最新代码。

#创建git仓库目录,clone项目源代码
mkdir -p /data/gitee
cd /data/gitee
#git@gitee.com:y_project/RuoYi.git为自己项目的ssh
git clone git@gitee.com:y_project/RuoYi.git

2.在本地使用可视化数据库开发工具 Navicat 链接服务器MySQL。创建数据库并执行所需数据脚本.sql

3.修改项目中的配置文件,配置文件application.yml

#进入自己项目的resources文件夹下
cd /data/gitee/   .....   /src/main/resources/
#修改application.yml的项目启动端口号,该端口号必须在服务器安全组有配置,且不被使用
vim application.yaml
#修改application.yaml的数据源(MySQL、Redis等和自己在application配置的一些数据)
vim application.yml
server:port: 端口号spring:application:name: 项目名aop:auto: trueproxy-target-class: truedatasource:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://服务器ip:3306/数据库名?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=trueusername: password: druid:max-active: 300filters: statinitialSize: 2maxWait: 60000timeBetweenEvictionRunsMillis: 60000minEvictableIdleTimeMillis: 300000validationQuery: SELECT 1testWhileIdle: truetestOnBorrow: falsetestOnReturn: falsepoolPreparedStatements: falsemaxPoolPreparedStatementPerConnectionSize: 200redis:# Redis数据库索引(默认为0)database: 0# Redis服务器地址host: # Redis服务器连接端口port: 6379# Redis服务器连接密码password: lettuce:pool:# 连接池最大连接数(使用负值表示没有限制) 默认 8# 这里要参考Redis服务器的最大连接配置maxActive: 100# 连接池最大阻塞等待时间(使用负值表示没有限制) 默认 -1maxWait: 3000# 连接池中的最大空闲连接 默认 8maxIdle: 1# 连接池中的最小空闲连接 默认 0minIdle: 1mybatis:mapper-locations: classpath:mapper/**/*.xmltype-aliases-package: run.leave.mappermanagement:endpoints:web:exposure:include: '*'

4.修改好项目的配置文件之后,把入口项目进行打包。通过mvn打包成一个可执行的jar包。

cd /data/gitee/RuoYi-Vue/
mvn clean install -pl com.ruoyi:ruoyi-admin -am

5.启动项目:把jar复制到程序目录,通过java命令行的方式启动jar包文件。因为本项目是使用了spring boot框架,所以jar中内置了web容器,不需要额外安装tomcat了。

mkdir -p /data/app/ruoyi-vue
cp /data/gitee/RuoYi-Vue/ruoyi-admin/target/ruoyi-admin.jar /data/app/ruoyi-vue/ruoyi-admin.jar
cd /data/app/ruoyi-vue/
nohup java -jar ruoyi-admin.jar &
#nohup和&用来表示本命令需要在后台执行,这样退出命令行程序后,java程序也不会停止。

出现这种按回车或者Ctrl+c

输入

#查看日志,验证项目是否成功运行。
tail -300f nohub.out

就正常启动项目了

启动成功后按Ctrl+c退出项目,项目也不会停止运行

如果想杀掉运行中的jar程序,查看进程命令为:
ps aux|grep pro-stuleave-boot-1.0.jar将会看到此jar的进程信息
root     22337  0.5 18.1 3123956 347272 pts/1  Sl   16:48   0:11 java -jar pro-stuleave-boot-1.0.jar
root     22521  0.0  0.1 221592  2408 pts/2    S+   17:26   0:00 grep --color=auto pro-stuleave-boot-1.0.jar其中22337则为此jar的pid,杀掉命令为
kill -9 22337启动项目重复上述操作

笔记资源
链接:https://pan.baidu.com/s/1MQQGnCJr3XPhMviS96u0mQ
提取码:3wls

参考文档
https://mp.weixin.qq.com/s/FqfGbYRvhiTU7q0aB1d2EA

https://mp.weixin.qq.com/s?__biz=Mzg2ODU0NTA2Mw==&mid=2247484347&idx=1&sn=087b67ecbd0896146f4787dfe55d52be&source=41#wechat_redirect

JAVA项目在服务器部署过程相关推荐

  1. 前后端分离项目的服务器部署

    https://www.jianshu.com/p/cbb21c6f3427 前几天我的个人网站终于部署上线了,趁现在还记得,赶紧把流程记录下来.本文讲的是前后端分离的项目的服务器部署,这里就以我的个 ...

  2. vue项目nginx服务器部署详细流程....

    vue项目nginx服务器部署 (1)前言 将自己做的vue项目部署到服务器上,这里我采用的工具是Nginx,Nginx是一款轻量级的web服务器.反向代理服务器,由于它的内存占用小,启动快,高并发能 ...

  3. android studio编写java项目,并部署到Tomcat服务器

    事件回顾:公司需求要自己实现一个即时通讯替换掉现在的第三方即时通讯.于是各种查阅资料,百度之后实现了一个简单的demo(由于本篇不是关于即时通讯的所以就不贴代码了),服务端代码能正常的在本地运行(在a ...

  4. 仿网易云项目前端服务器部署+Nodejs部署

    做了几天的仿网易云移动端项目,做出来了不知道怎么部署上线?搞了好久!!!!记录一下! 1.首先(优化 + 检查)项目 1.1 vue.config.js种配置: 安装 npm i compressio ...

  5. VSCode搭建Vue项目及服务器部署

    一.安装nodeJs 在我之前的博客<idea搭建vue-cli项目>里有详细安装教程,这里进入! 二.在VSCode搭建Vue项目 1.安装全局脚手架 npm i -g @vue/cli ...

  6. 自动部署java项目,热部署方式

    大部分内容转自:https://www.cnblogs.com/hdwang/p/6081994.html 怎么创建项目不赘述了,不会的也不用往下看了,热部署不需要重启tomcat 说下安装插件 上述 ...

  7. java项目实现服务器监控,Java实现服务器状态监控

    Java实现服务器状态监控 内容精选 换一换 云容器实例(Cloud Container Instance,CCI)服务提供 Serverless Container(无服务器容器)引擎,让您无需创建 ...

  8. 利用gitee仓库的流水线功能实现Java项目的自动化部署

    背景:因为之前每次写完新的BUG之后,需要手动打包然后传到服务器,再进行启动,整个过程太浪费时间,而且没有一点技术含量,所以想做自动化部署. 本次自动化部署采用了gitee退出的仓库流水线功能,可以帮 ...

  9. JAVA 项目打包和部署一站式解决方案

    文章目录 一.场景描述 二.打包方式 场景方式一:常规 MAVEN 零散项目打包部署方式 场景方式二:常规 MAVEN 集中项目打包部署方式 场景方式三:借助 spring-boot 插件进行打包部署 ...

  10. war包访问php,nginx - JAVA 项目WAR包部署的适用场景?

    大家讲道理2017-06-17 09:19:111楼 实际经验: 我经手过的项目都是在weblogic上以目录的形式发布,目录结构: DOMAINS --域 └─domainA --域A └─apps ...

最新文章

  1. JAVA面试解析(有赞二面)
  2. 服务认证暴力破解工具Crowbar
  3. 第二节:比较DateTime和DateTimeOffset两种时间类型并介绍Quartz.Net中用到的几类时间形式(定点、四舍五入、倍数、递增)
  4. 6.5版本虚拟机的封装
  5. 定期定量采购_采购的四种方法
  6. 学以致用十四-----打造一个简单的vim IDE
  7. python基础笔记_python基础笔记
  8. 38.MySQL 日志
  9. 视频教程-R语言数据分析挖掘实战-大数据
  10. android studio如何重启,从Android Studio重新启动ADB(Restart ADB from Android Studio)
  11. SPSS数据转换插件v2.0
  12. 基于单片机智能交通灯控制系统设计外文文献_三种典型的微机控制系统
  13. 软件工程专业学习路线
  14. 网吧管理系统mysql_网吧管理系统数据库课程设计.doc
  15. 计算机绘图cad期末考试试题,机械CAD/CAM期末考试复习资料[机械CAD/CAM]
  16. 2020-11-03 oracle sql根据身份证号来判断性别
  17. 产品读书《用户力:需求驱动的产品、运营与商业模式》
  18. iPhone4S 未能激活蜂窝移动数据网
  19. CentOS 7.6安装配置MariaDB异步主从复制
  20. Android主题换肤实现原理与Demo

热门文章

  1. 求职软件测试工程师英文简历,软件测试工程师英文简历范文
  2. 把网页整个保存为pdf
  3. VISIO 连接线转角居然默认不是直角,每次要改格式
  4. 解决mysql闪退问题
  5. 计算机在中医方剂中的应用,计算机中医应用(精).docx
  6. 跟大家分享一下牛人常用的资源(牛客网 )!
  7. 洛谷试炼场---提高历练地 普及练习场 新手村 入门难度
  8. 浅析EDA技术应用于电子设计竞赛的可行性
  9. axurerp9怎么生成html形式页面,Axure RP教程 Axure RP如何生成HTML文件
  10. imagej macro language tutorial(ImageJ 宏语言教程)