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

Linux操作系统3-项目部署

手动部署

步骤
1.在idea中将文件项目进行打包
2.自定义一个文件目录,上传到Linux
3.使用 java -jar +jar包名就可以进行运行
注意,如果需要启动该项目,需要确定所需的端口是否打开

采用这种方式,程序运行的时候会出现霸屏,并且会将日志信息输出到控制台,这样会影响使用,并且SSh窗口退出后,外部就不能访问了

解决方式:
nohup命令,指不挂断语法,格式 nohub Command[Arg][&]
Command:要执行的命令
Arg:一些参数,可以指定输出文件
&:让命令在后台运行
例如: nohub java -jar boot工程名.jar &> hello.log &  //后台启动Java-jar命令,将日志输出到当前文件夹的hello.log文件
想要关闭boot进程,只需找到进程号,ps -ef | grep java,然后通过 kill -9 进程号,就能关闭boot进程

通过shell脚本部署

操作步骤
1.在Linux安装git

yum list git //查询git版本
yum install git //安装
#使用Git克隆代码
cd /usr/local/
git clone 仓库地址

2.在Linux安装maven
上传解压
配置环境变量

tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/localvim /etc/profileexport 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>//设置maven的本地仓库

3.编写Shell脚本(拉取代码、编译、打包、启动)
在/usr/local目录下创建一个文件夹
创建一个文件,vim bootstart.sh
将以下的内容复制粘贴进去,保存退出

#!/bin/sh
echo =================================
echo  自动化部署脚本启动
echo =================================echo 停止原来运行中的工程
APP_NAME=helloworldtpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; thenecho 'Stop Process...'kill -15 $tpid
fi
sleep 2
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; thenecho 'Kill Process!'kill -9 $tpid
elseecho 'Stop Success!'
fiecho 准备从Git仓库拉取最新代码
cd /usr/local/helloworldecho 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成echo 开始打包
output=`mvn clean package -Dmaven.test.skip=true`cd targetecho 启动项目
nohup java -jar helloworld-1.0-SNAPSHOT.jar &> helloworld.log &
echo 项目启动完成

4.为用户授予执行Shell脚本的权限

Linux的权限:r读权限,w写权限,x执行权限
文件调用权限分为:文件所有者(Owner),用户组(Group),其他用户(Other Users)
只有文件的所有者和超级用户可以修改文件或目录权限
在这里插入图片描述
chmod命令进行shell脚本授权
在这里插入图片描述

5.执行shell脚本
sh 文件名.sh

设置静态ip
修改文件,/etc/sysconfig/network-scripts/ifcfg-ens33,安装的是Centos7,使用的Finallshell,名称就是ens33
在这里插入图片描述
修改完成后需要重启网络服务
systemctl restart network,使用新网络的时候,就网络连接的Finalshell会断开,使用新的ip进行连接即可

http://www.lryc.cn/news/105222.html

相关文章:

  • 软件测试面试题——接口自动化测试怎么做?
  • 如何在医疗器械行业运用IPD?
  • 16. Spring Boot 统一功能处理
  • PostgreSQL-数据库命令
  • 面试题:说说JavaScript中内存泄漏的几种情况?垃圾回收机制
  • HTML基础介绍1
  • 【腾讯云 Cloud Studio 实战训练营】Redisgo_task 分布式锁实现
  • Linux CentOS系统怎么下载软件
  • SNAT和DNAT原理与应用
  • Java8实战-总结11
  • 2023爱分析·低代码厂商全景报告|爱分析报告
  • 视频两侧有黑边怎么处理?教你裁切视频黑边方法
  • 如何设计一个Android端高性能日志监控系统
  • maven下载按照及初次使用相关配置
  • opencv05-掩膜
  • 通讯软件013——分分钟学会Kepware OPC AE Server仿真配置
  • Windows下安装Hive(包安装成功)
  • count(列名) ,count(1)与count(*) 有何区别?
  • node.js判断元素是否包括
  • 基于SpringBoot+Vue的地方废物回收机构管理系统设计与实现(源码+LW+部署文档等)
  • 【SAP MII学习】Day01--Overview, Security Services, and Workbench
  • 枚举类常见用法,A Guide to Java Enums
  • Vue Baidu Map--vue引入百度地图
  • 使用Express部署Vue项目
  • 344.翻转字符串+387.字符串中的第一个唯一字符
  • 安装mmcv
  • 什么是服务网格?
  • 8.1作业
  • linux-安全技术
  • 如何在免费版 pycharm 中使用 github copilot (chatGPT)?