Linux部署springboot项目(从安装java开始)

Linux部署springboot项目

  • 一 安装jdk
    • 方式一:yum方式下载安装
    • 方式二:官网下载jdk,ftp上传服务器解压安装
  • 二 部署SpingBoot工程
    • 一 新建SpingBoot工程
    • 二 在虚拟机上运行SpingBoot工程
    • 三 解决虚拟机上运行的程序,window访问不了!

一 安装jdk

方式一:yum方式下载安装

  1. 查找java相关的列表
yum -y list java*     或者
yum search jdk

Linux部署springboot项目(从安装java开始)_第1张图片
2. 可以查看当前Linux系统中已经安装了那些java相关的软件包
如果没有安装java的可以使用一下方式自动安装

yum install java-1.8.0-openjdk.x86_64
java -version 检查是否安装成功

Linux部署springboot项目(从安装java开始)_第2张图片
3. 通过yum安装的默认路径为:/usr/lib/jvm
Linux部署springboot项目(从安装java开始)_第3张图片
4. 将jdk的安装路径加入到JAVA_HOME,打开/etc/profile文件,

vi /etc/profile

在文件末尾添加:

JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64  具体名称根据安装包版本修改
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME CLASSPATH PATH

修改/etc/profile之后让其生效

. /etc/profile (注意 . 之后应有一个空格)

方式二:官网下载jdk,ftp上传服务器解压安装

  1. 进入 Oracle 官方网站 下载合适的 JDK 版本,我这里使用的是jdk-8u351-linux-x64.tar.gz
  2. 创建目录,上传
mkdir /usr/local/java
cd /usr/local/java

上传:下载完后执行下面rz这个命令然后选择到下载的文件后通过xshell上传上去 或者通过其他软件上传到服务器/usr/local/src目录,本文安装了finaShell可以直接拖入该目录下

rz
  1. 解压
tar -zxvf jdk-8u351-linux-x64.tar.gz

4.设置环境变量

vi /etc/profile

在文件末尾添加:

export JAVA_HOME=/usr/local/java/jdk1.8.0_351   
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

修改/etc/profile之后让其生效

source /etc/profile
java -version 测试

Linux部署springboot项目(从安装java开始)_第4张图片

在修改/etc/profile的时候可能会出现这种情况

Linux部署springboot项目(从安装java开始)_第5张图片Linux部署springboot项目(从安装java开始)_第6张图片
可以通过finalShell手动修改该文件,并source命令执行,同样的效果!

二 部署SpingBoot工程

一 新建SpingBoot工程

  1. 新建Springboot工程,
    Linux部署springboot项目(从安装java开始)_第7张图片
    Linux部署springboot项目(从安装java开始)_第8张图片
    运行Application启动类,在浏览器端检查其是否正常
    Linux部署springboot项目(从安装java开始)_第9张图片
  2. 使用maven进行工程打包
    Linux部署springboot项目(从安装java开始)_第10张图片
    通过打包的方式将SpingBoot工程封装成jar,然后使用运行Jar文件的通常的方法启动工程Linux部署springboot项目(从安装java开始)_第11张图片
  3. 运行Jar文件时通常的方法
    由于SpingBoot内嵌tomcat,不需要打包成war包。只需要掌握两种常用的运行jar包方法即可。
1 java -jar test.jar

这种方法运行之后,没法切出去执行其他任务,有没有办法让Jar在后台运行

2 nohup java -jar test.jar &
//nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
//当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中
//除非另外指定了输出文件。
3 nohup java -jar test.jar >temp.txt &
//这种方法会把日志文件输入到你指定的文件中,没有则会自动创建
  1. jobs命令和 fg命令,操作后台运行程序
  jobs
//那么就会列出所有后台执行的作业,并且每个作业前面都有个编号。
//如果想将某个作业调回前台控制,只需要 fg + 编号即可。
  fg 2
  1. 查看某端口占用的线程的pid
netstat -nlp | grep :8080

二 在虚拟机上运行SpingBoot工程

  1. 上传jar包,可以使用rz命令,也可以使用ftp工具传
    Linux部署springboot项目(从安装java开始)_第12张图片
  2. 运行jar包
    Linux部署springboot项目(从安装java开始)_第13张图片
  3. 想要后台运行,请看前面描述的运行jar包方法!!!

三 解决虚拟机上运行的程序,window访问不了!

  1. 在虚拟机中运行程序,分别检查在Linux和windows下的访问情况
    Linux部署springboot项目(从安装java开始)_第14张图片
    首先使用Linux浏览器访问虚拟机中运行程序的8080端口:正常访问
    Linux部署springboot项目(从安装java开始)_第15张图片
    然后使用windows浏览器访问虚拟机中运行程序的8080端口:访问失败
    Linux部署springboot项目(从安装java开始)_第16张图片
  2. 问题分析:可能是Linux没有开放8080端口的开放权
    首先使用ps -ef | grep java命令查看java的运行情况
    在这里插入图片描述
    在程序运行正常的情况下,我们需要8080端口对其进行访问,第一步已经证明虚拟机内部访问是没有问题的,接下来需要查看虚拟机对外的开放情况。使用iptables命令查看端口开放的情况,从下图可以看出,开放的端口为数不多,当然截图不全,还有22端口也是出于accept状态。
iptables -L -n

Linux部署springboot项目(从安装java开始)_第17张图片

  1. 端口权限开放
    使用以下命令,开通8080(自选)权限
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

在这里插入图片描述
可以发现,windows成功访问
Linux部署springboot项目(从安装java开始)_第18张图片
这里收藏一个大佬针对Linux下iptables 禁止端口和开放端口的博文:
链接赴上: Linux下iptables 禁止端口和开放端口

你可能感兴趣的:(springboot,java,linux,spring,boot)