《Linux篇》02.超详细SpringBoot项目部署教程(附脚本自动部署)(一)

本文涉及的产品
云防火墙,500元 1000GB
日志服务 SLS,月写入数据量 50GB 1个月
简介: 《Linux篇》02.超详细SpringBoot项目部署教程(附脚本自动部署)(一)

1. 软件安装


1.1 软件安装方式

在Linux系统中,安装软件的方式主要有四种,这四种安装方式的特点如下:

image.png

1.2 安装JDK

各种安装包已经在资料中准备好,先需要安装FinallShell进行远程连接,方便文件传输和输入命令。

安装FinallShell请看我的博客:超详细安装FinallShell教程。


JDK具体安装步骤如下:


1). 上传安装包


使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux


注:先执行cd / 切换到根目录,然后上传jdk压缩包

image.png


由于上述在进行文件上传时,选择的上传目录为根目录 /,上传完毕后,我们执行指令 cd / 切换到根目录下,查看上传的安装包。


image.png


2). 解压安装包


执行如下指令,将上传上来的压缩包进行解压,并通过-C参数指定解压文件存放目录为 /usr/local。


tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local

image.png


3). 配置环境变量


使用vim命令修改/etc/profile文件,在文件末尾加入如下配置


JAVA_HOME=/usr/local/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH

具体操作指令如下:


1). 编辑/etc/profile文件,进入命令模式
  vim /etc/profile
2). 在命令模式中,输入指令 G , 切换到文件最后
  G
3). 在命令模式中输入 i/a/o 进入插入模式,然后切换到文件最后一行
  i
4). 将上述的配置拷贝到文件中
  JAVA_HOME=/usr/local/jdk1.8.0_171
  PATH=$JAVA_HOME/bin:$PATH
5). 从插入模式,切换到指令模式
  ESC
6). 按:进入底行模式,然后输入wq,回车保存
  :wq

4). 重新加载profile文件


为了使更改的配置立即生效,需要重新加载profile文件,执行命令:


source /etc/profile

5). 检查安装是否成功


java -version

image.png

1.3 安装Tomcat

1.3.1 Tomcat安装

Tomcat的安装和上述JDK的安装采用相同的方式,都是使用二进制发布包的形式进行安装,在我们的资料目录下,也已经准备了Tomcat的安装包:


具体安装步骤如下:


1). 上传安装包


使用FinalShell自带的上传工具将Tomcat的二进制发布包上传到Linux(与前面上传JDK安装包步骤一致)。


image.png


2). 解压安装包


将上传上来的安装包解压到指定目录/usr/local下,执行命令为


tar -zxvf apache-tomcat-7.0.57.tar.gz -C /usr/local

3). 启动Tomcat


进入Tomcat的bin目录启动服务。执行命令为:
cd /usr/local/apache-tomcat-7.0.57/
cd bin
sh startup.sh或者./startup.sh


image.png


image.png

1.3.2 Tomcat进程查看

上述我们将Tomcat启动完成之后,并不能知道Tomcat是否正常运行,那么我们验证Tomcat启动是否成功,有多种方式,我们这里主要介绍常见的两种方式:


1). 查看启动日志


Tomcat的启动日志输出在Tomcat的安装目录下的logs目录中,Tomcat的启动及运行日志文件名为 catalina.out,所以我们查看Tomcat启动日志,主要可以通过两条指令,如下:


1). 分页查询Tomcat的日志信息
more /usr/local/apache-tomcat-7.0.57/logs/catalina.out
2). 查询日志文件尾部的50行记录  (注 这个常用)
tail -50 /usr/local/apache-tomcat-7.0.57/logs/catalina.out
!!!动态查看tomcat日志
tail -f  /usr/local/apache-tomcat-7.0.57/logs/catalina.out

2). 查询系统进程


我们也可以通过Linux系统的查看系统进程的指令,来判定Tomcat进程是否存在,从而判定Tomcat是否启动。执行如下指令:

!!!常用


ps -ef|grep tomcat


image.png

说明:


ps命令是linux下非常强大的进程查看命令,通过ps -ef可以查看当前运行的所有进程的详细信息


“|” 在Linux中称为管道符,可以将前一个命令的结果输出给后一个命令作为输入


使用ps命令查看进程时,经常配合管道符和查找命令 grep 一起使用,来查看特定进程


1.3.3 防火墙操作

前面我们已经通过日志的方式及查看系统进程的方式,验证了Tomcat服务已经正常启动,接下来我们就可以尝试访问一下。访问地址:

(注:这是你服务器ip)http://192.168.138.130:8080,我们发现是访问不到的。


image.png


原因就在于Linux系统的防火墙,系统安装完毕后,系统启动时,防火墙自动启动,防火墙拦截了所有端口的访问。操作防火墙具体指令如下:


image.png



注意: 上面我们也提到了,直接关闭系统的防火墙,是不建议的,因为这样会造成系统不安全。


B. 开放Tomcat的端口号8080


执行指令:

注:如果想开放别的端口就把8080换成想开放的端口,比如redis的6379


①. 先开启系统防火墙
systemctl start firewalld
②. 再开放8080端口号
firewall-cmd --zone=public --add-port=8080/tcp --permanent
③. 重新加载防火墙
firewall-cmd --reload

执行上述的操作之后,就开放了当前系统中的8080端口号,再次访问Tomcat。


1.3.4 停止Tomcat

在Linux系统中,停止Tomcat服务的方式主要有两种:


1). 运行Tomcat提供的脚本文件


在Tomcat安装目录下有一个bin目录,这个目录中存放的是tomcat的运行脚本文件,其中有一个脚本就是用于停止tomcat服务的。


image.png


我们可以切换到bin目录,并执行如下指令,来停止Tomcat服务:


sh shutdown.sh
./shutdown.sh

2). 结束Tomcat进程


image.png


我们可以先通过 ps -ef|grep tomcat 指令查看tomcat进程的信息,从进程信息中获取tomcat服务的进程号。然后通过kill -9 的形式,来杀死系统进程。


sh shutdown.sh
./shutdown.sh


通过上述的指令,我们可以获取到tomcat的进程号为 79947。接下来,我们就可以通过指令 ,来杀死tomcat的进程 :


kill -9 79947

执行完上述指令之后,我们再访问Linux系统中的Tomcat,就访问不到了。


注意:


kill命令是Linux提供的用于结束进程的命令,-9表示强制结束


注意 :


虽然上述讲解的两种方式,都可以停止Tomcat服务,但是推荐使用第一种方式(./shutdown.sh)执行脚本来关闭tomcat服务,如果通过第一种方式停止不了tomcat了,这个时候,我们可以考虑使用第二种方式,强制杀死进程。

相关文章
|
5月前
|
前端开发 JavaScript Java
SpringBoot项目部署打包好的React、Vue项目刷新报错404
本文讨论了在SpringBoot项目中部署React或Vue打包好的前端项目时,刷新页面导致404错误的问题,并提供了两种解决方案:一是在SpringBoot启动类中配置错误页面重定向到index.html,二是将前端路由改为hash模式以避免刷新问题。
396 1
|
1月前
|
存储 Java 持续交付
GitHub-Actions-SpringBoot项目部署
通过以上配置,当代码推送到GitHub仓库时,GitHub Actions将自动执行构建和部署过程,实现持续集成和持续部署。这不仅提高了开发效率,还减少了手动部署的风险。确保每一步操作都正确无误,可以避免常见的CI/CD问题。
66 14
|
6月前
|
前端开发 JavaScript Java
【实操】SpringBoot监听Iphone15邮件提醒,Selenium+Python自动化抢购脚本
本文介绍了一个结合SpringBoot和Python的实用功能,旨在监控iPhone 15的库存状态并通过邮件提醒用户。系统采用SpringBoot监听苹果官网API,解析JSON数据判断是否有货,并展示最近的库存记录。此外,还能自动触发Selenium+Python脚本实现自动化购买。文中详细介绍了技术栈、接口分析、邮件配置及自动化脚本的设置方法。该项目不仅适用于熟悉后端开发的人员,也适合回顾Layui和Jquery等前端技术。
76 0
【实操】SpringBoot监听Iphone15邮件提醒,Selenium+Python自动化抢购脚本
|
9月前
|
负载均衡 Linux 应用服务中间件
Linux系统中前后端分离项目部署指南
Linux系统中前后端分离项目部署指南
278 8
|
6月前
|
NoSQL Java Linux
springboot+redis+虚拟机 springboot连接linux虚拟机中的redis服务
该博客文章介绍了如何在Spring Boot项目中通过配置和代码实现连接运行在Linux虚拟机上的Redis服务,并提供了详细的步骤和测试结果截图。
springboot+redis+虚拟机 springboot连接linux虚拟机中的redis服务
|
7月前
|
存储 Java Serverless
Java Spring Boot应用如何实现推送代码到指定仓库并自动部署
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
6月前
|
Linux PHP
【Azure 应用服务】PHP项目部署到App Service for Linux环境中,如何修改上传文件大小的限制呢?
【Azure 应用服务】PHP项目部署到App Service for Linux环境中,如何修改上传文件大小的限制呢?
|
6月前
|
Java Linux C++
【Azure 应用服务】App Service For Linux 部署Java Spring Boot应用后,查看日志文件时的疑惑
【Azure 应用服务】App Service For Linux 部署Java Spring Boot应用后,查看日志文件时的疑惑
|
6月前
|
JavaScript Linux 容器
【Azure 应用服务】NodeJS项目部署在App Service For Linux环境中,部署完成后应用无法访问
【Azure 应用服务】NodeJS项目部署在App Service For Linux环境中,部署完成后应用无法访问
|
8月前
|
Java Linux 程序员
大事件后端项目36--------SpringBoot项目部署
大事件后端项目36--------SpringBoot项目部署