2.1 手动部署项目
1). 在IDEA中开发SpringBoot项目并打成jar包
项目是一个很简单的springboot项目(可以自己开发一个,也可以直接导入资料中提供的),结构如下:
可以在本地的idea中先启动当前的demo工程,然后访问一下,看看工程是否正常访问。
执行package指令,进行打包操作,将当前的springboot项目,打成一个jar包。
2). 将jar包上传到Linux服务器
通过 rz 指令,将打好的jar包上传至Linux服务器的 /usr/local/app 目录下。 先执行指令创建app目录。
A. 在/usr/local下创建目录app
mkdir /usr/local/app
B. 切换到app目录下
cd /usr/local/app
C. 执行指令,进行jar包上传
rz
此时这个jar包就上传到 /usr/local/app 目录了。
3). 启动SpringBoot程序
由于我们的项目已经打成jar包上传上来到Linux服务器,我们只需要运行这个jar包项目就启动起来了,所以只需要执行如下指令即可:
java -jar helloworld-1.0-SNAPSHOT.jar
==注意: 由于前面安装的Tomcat在启动时,会占用端口号8080,而当前springboot项目我们没有配置端口号,默认也是8080,所以我们要想启动springboot项目,需要把之前运行的Tomcat停止掉。==
4). 检查防火墙,确保8080端口对外开放,访问SpringBoot项目
firewall-cmd --zone=public --list-ports
如果防火墙没有放开8080端口,还需要放开对应的端口号,执行如下指令:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
5). 访问测试
http://192.168.138.130:8080/hello
6). 后台运行项目
当前这个demo工程我们已经部署成功了,并且我们也可以访问项目了。但是这个工程目前是存在问题的,就是当前我们项目启动的这个窗口被霸屏占用了,如果我们把这个窗口关闭掉(或ctrl+c),当前服务也就访问不到了,我们可以试一下。
目前程序运行的问题:
A. 线上程序不会采用控制台霸屏的形式运行程序,而是将程序在后台运行
B. 线上程序不会将日志输出到控制台,而是输出到日志文件,方便运维查阅信息
后台运行程序:
要想让我们部署的项目进行后台运行,这个时候我们需要使用到linux中的一个命令 nohup ,接下来,就来介绍一下nohup命令。
nohup命令:英文全称 no hang up(不挂起),用于不挂断地运行指定命令,退出终端不会影响程序的运行
语法格式: nohup Command [ Arg … ] [&]
参数说明:
Command:要执行的命令
Arg:一些参数,可以指定输出文件
&:让命令在后台运行
举例:
nohup java -jar boot工程.jar &> hello.log &
上述指令的含义为: 后台运行 java -jar 命令,并将日志输出到hello.log文件
那么经过上面的介绍,我们可以推测中,我们要想让当前部署的项目后台运行,就可以使用下面的指令:
nohup java -jar helloworld-1.0-SNAPSHOT.jar &> hello.log &
这样的话,我们的项目就已经启动成功了,我们可以通过ps指令,查看到系统的进程。
接下来,我们再次访问我们的项目,来看看服务是否可用。
7). 停止SpringBoot项目
2.2 基于Shell脚本自动部署
2.2.1 介绍
前面介绍的项目部署是手动部署,也就是部署过程中的每一步操作都需要我们手动操作。接下来,我们需要再讲解一下项目的自动部署,从而来简化项目部署的操作,那么我们先来整体上了解一下项目自动部署的流程及操作步骤。
操作步骤如下:
1). 在Gitee上创建远程仓库,并将本地的项目代码推送到远程仓库中
2). 在Linux中安装Git,克隆代码
3). 在Linux中安装maven
4). 编写Shell脚本(拉取代码、编译、打包、启动)
5). 为用户授予执行Shell脚本的权限
6). 执行Shell脚本
2.2.2 推送代码到远程
这部分操作,大家只需要参考之前讲解的Git,来完成helloworld工程代码推送即可。
A. 创建远程仓库
B. 将idea中的代码提交并推送到远程仓库
2.2.3 Git操作
1). Git软件安装
通过yum命令在线安装git,执行如下指令:
yum list git 列出git安装包
yum install git 在线安装git
通过上述指令,安装好git之后,我们就可以通过 git --version去验证git的环境。
2). Git克隆代码
cd /usr/local/
git clone https://gitee.com/ChuanZhiBoKe/helloworld.git
2.2.4 Maven安装
由于我们的工程是maven工程,我们要想进行项目的编译打包,需要用到maven的指令,所以需要安装maven。具体操作步骤如下:
1). 上传资料中提供的maven的安装包
通过rz指令上传课程资料中的maven安装包
2). 解压maven安装包到/usr/local目录
tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local
3). 在/etc/profile配置文件中配置环境变量
vim /etc/profile
修改配置文件,进入到命令模式,按G切换到最后一行,按a/i/o进入插入模式,然后在最后加入如下内容 :
export MAVEN_HOME=/usr/local/apache-maven-3.5.4
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
然后按ESC进入到命令模式,输入 :wq 保存并退出
要想让配置的环境变量生效,还需要执行如下指令:
source /etc/profile