springboot项目部署

1、手工部署项目

①:IDEA中开发SpringBoot项目并打成jar

 

jar包上传到Linux服务器

mkdir /usr/local/app		创建目录,将项目jar包放到此目录

:启动SpringBoot程序

java -jar hello-1.0-SNAPSHOT.jar

检查防火墙,确保8080端口对外开放,访问SpringBoot项目

firewall-cmd --zone=public --list--ports

 ⑤:改为后台运行SpringBoot程序,并将日志输出到日志文件

目前程序运行的问题

<1> 线上程序不会采用控制台霸屏的形式运行程序,而是将程序在后台运行

<2> 线上程序不会将日志输出到控制台,而是输出到日志文件,方便运维查阅信息

nohup 命令:英文全称 no hang up(不挂起),用于不挂断地运行指定命令,退出终端不会影响程序的运行

语法格式: nohup Command [ Arg … ] [&]

参数说明:

Command:要执行的命令

Arg:一些参数,可以指定输出文件

&:让命令在后台运行

举例:

nohup java -jar boot工程.jar &> hello.log  &  后台运行java -jar命令,并将日志输出到hello.log文件

nohup java -jar boot工程.jar &> hello.log  &

⑥:停止SpringBoot程序

 2、通过Shell脚本自动部署项目

操作步骤:

1、在Linux中安装Git

2、在Linux中安装maven

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

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

5、执行Shell脚本

 Linux中安装Git

yum list git			列出git安装包
yum install git			在线安装git

 ②:使用Git克隆代码

cd /usr/local/

git clone https://gitee.com/xxxxx/helloworld.git

​

③:将maven安装包上传到LinuxLinux中安装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:$PATH

source /etc/profile

mvn –version

vim /usr/local/apache-maven-3.5.4/conf/settings.xml    修改配置文件内容如下

<localRepository>/usr/local/repo</localRepository>

④:Shell脚本文件复制到Linux

#!/bin/sh
echo =================================
echo  自动化部署脚本启动
echo =================================

echo 停止原来运行中的工程
APP_NAME=helloworld

tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo '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} ]; then
    echo 'Kill Process!'
    kill -9 $tpid
else
    echo 'Stop Success!'
fi

echo 准备从Git仓库拉取最新代码
cd /usr/local/helloworld

echo 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成

echo 开始打包
output=`mvn clean package -Dmaven.test.skip=true`

cd target

echo 启动项目
nohup java -jar helloworld-1.0-SNAPSHOT.jar &> helloworld.log &
echo 项目启动完成

Shell脚本(shell script),是一种Linux系统中的脚本程序。

使用Shell脚本编程跟 JavaScriptJava编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。

⑤:为用户授权

chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令

Linux中的权限分为:读(r)、写(w)、执行(x)三种权限

Linux的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users

只有文件所有者和超级用户可以修改文件或目录的权限

要执行Shell脚本需要有对此脚本文件的执行权限,如果没有则不能执行

 chmod命令可以使用八进制数来指定权限

举例:

chmod 777 bootStart.sh   为所有用户授予读、写、执行权限
chmod 755 bootStart.sh   为文件拥有者授予读、写、执行权限,同组用户和其他用户授予读、执行权限
chmod 210 bootStart.sh   为文件拥有者授予写权限,同组用户授予执行权限,其他用户没有任何权限

注意:三位数字分别代表不同用户的权限

1 位表示文件拥有者的权限
2 位表示同组用户的权限

       第3位表示其他用户的权限

 

 ⑥:执行Shell脚本

 

  • 17
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值