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

java项目部署到linux

手工部署

打包

获取打包的jar包

在这里插入图片描述

将jar包放到linux中(可通过xftp软件)的 usr/local/ruiji

在这里插入图片描述

执行jar包

java -jar jar包名称指定端口:
java -jar jar包名称 --server.port=端口号如果端口被占用,查看端口号命令
netstat -tuln | grep :8080根据端口号杀死进程
lsof -i :8080 -->根据端口号找到PID
由PID杀死进程
kill PID

在这里插入图片描述
此处有个问题就是你运行的项目会霸屏,就是无法执行其他linux命令,需要把项目改为后台运行

后台运行项目

命令:

nohup :用于不挂断地运行指定命令,退出终端不会影响程序的运行
&:让命令在后台运行后台运行java -jar命令,并将日志输出到hello.log文件:
nohup java -jar jar包 &>hello.log & 

在这里插入图片描述
在这里插入图片描述

如何关闭项目

查到进程,杀死进程跟上面一样用kill
ps -ef | grep java

当前项目有一个问题,未导入数据库到linux里的mysql

通过shell脚本自动部署项目

1、在Linux中安装Git

yum list git   ----列出git安装包
yum install git 在线安装
安装过程中如果有选择,选择y

2、在Linux中安装maven

tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local
vim /etc/profile
修改配置文件,加入如下内容
export MAVEN HOME=/usr/local/apache-maven-3.5.4
expOrt PATH=$JAVA HOME/bin:$MAVEN HOME/bin:$PATHsource /etc/profile
mvn -version  检查是否配置生效
vim /usr/local/apache-maven-3.5.4/conf/settings.xml   修改配置文件内容如下
<localRepository>/usr/local/repo</localRepository>

3、为用户授予执行Shell脚本的权限

将资料中提供的Shell脚本文件复制到Linux  bootStart.sh (自己在local中创建一个目录放里边)

在这里插入图片描述

为用户授权:chmod 777 bootStart.sh

4、编写Shell脚本(拉取代码、编译、打包、启动)

拉取代码:

一般项目都放在 /usr/local/自己创一个目录放-->由于 bootStart.sh 里面默认放到了cd /usr/local/helloworld,自行修改
git clone 项目地址

5、执行Shell脚本

./ bootStart.sh

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • MySQL 多表连接(JOIN)
  • Leetcode-552 学生出勤记录II
  • 如何在 KubeBlocks 中配置实例模板?
  • Spring之@Bean注解
  • MySQL 如何保证事务的原子性
  • 考完PMP最好的出路!是做项目管理培训讲师!
  • Unity转Unreal5从入门到精通之UMG的使用
  • 网安新声 | 从微软“狂躁许可”漏洞事件看安全新挑战与应对策略
  • STM32后备区域:读写BKP备份寄存器与使用RTC实时时钟详解
  • 倒计时:隐藏删除按钮,点击添加按钮最多显示删除按钮10秒自动隐藏
  • Node.js 文件系统
  • 数据结构与算法——平衡二叉树
  • C++竞赛初阶L1-13-第五单元-循环嵌套(29~30课)536: T456455 画矩形
  • 前向传播与反向传播
  • 【Redis】Redis线程与IO模型—(三)
  • Android Studio:GIT提交项目到远程仓库
  • Brief introduction of how to 'Call, Apply and Bind'
  • ES6简单总结(搭配简单的讲解和小案例)
  • express.js的介绍及使用
  • iOS编译提示和导航提示
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • node 版本过低
  • python docx文档转html页面
  • Rancher-k8s加速安装文档
  • SwizzleMethod 黑魔法
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 关于springcloud Gateway中的限流
  • 免费小说阅读小程序
  • 世界上最简单的无等待算法(getAndIncrement)
  • ionic入门之数据绑定显示-1
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • # Java NIO(一)FileChannel
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • $.ajax()
  • ()、[]、{}、(())、[[]]命令替换
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (21)起落架/可伸缩相机支架
  • (6) 深入探索Python-Pandas库的核心数据结构:DataFrame全面解析
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (Charles)如何抓取手机http的报文
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (Qt) 默认QtWidget应用包含什么?
  • (STM32笔记)九、RCC时钟树与时钟 第二部分
  • (ZT)出版业改革:该死的死,该生的生
  • (二十四)Flask之flask-session组件
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (过滤器)Filter和(监听器)listener
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (六)激光线扫描-三维重建
  • (七)c52学习之旅-中断
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据