如何在Linux虚拟机或服务器上发布或部署一个Spring项目

1.开放端口

项目需要使用哪些端口就开放哪些端口
开放方法如下:

  • 1.进入控制台,选择安全组在这里插入图片描述
  • 2.点击蓝色连接,点击手动添加
    在这里插入图片描述
  • 3.添加需要开放的端口
    在这里插入图片描述

2.安装服务器远程连接工具

  • Xshell 的安装使用

  • Xshell是一个终端模拟软件,换言之,我们只要在本地Windows系统下安装这个软件,打开输入账号密码,就能登录远程的云服务器

  • Xshell下载官网(如果官网下载太慢,可以百度一下Xshell,很多资源,下载最新版的就行,我用的是Xshell 6,当然也可以直接用360软件管家无脑安装)

  • 下载完了选择安装路径开始安装,这个软件很小,安装也简单,安装过程中不会出现问题(新手的我也一路畅通)

  • 打开Xshell们可以看到如下界面
    在这里插入图片描述

  • 新建一个会话,拿出之前的笔记,将公网IP输入到主机栏,端口号设置为22(服务器的监听端口,ftp默认为21,sftp为22,如果你设置22连不进去,那就换21试一下)
    在这里插入图片描述
  • 点击 ”确定”>>“连接”,继续拿出笔记,把服务器账号填进“登录的用户名”,把服务器密码填进“密码”,如下图。
    在这里插入图片描述
    在这里插入图片描述
  • 登录成功,进入服务器。以后我们就可以通过这个界面对云服务器进行远程操控,在上面进行jdk,mysql安装,springboot部署等操作了。
    在这里插入图片描述

3.安装环境

这里选择的是yum一键安装

首先看看有没有旧的jdk环境

有则卸载

rpm -qa | grep java | xargs rpm -e --nodeps

无则跳过以上步骤

查询你自己需要安装的版本,这里会出现一个列表

yum -y list java*

在这里插入图片描述
安装jdk

 yum install java-1.8.0-openjdk* -y

我是把这些全匹配上,安装它们
在这里插入图片描述
在这里插入图片描述
配置一个环境变量

ll /usr/lib/jvm

查看自己jdk的一些属性在这里插入图片描述
可以看到我们这个 jre-1.8.0-openjdk-1.8.0.272.b10-1.el7_9.x86_64 -> java-1.8.0-openjdk-1.8.0.272.b10-1.el7_9.x86_64/jre,直接指向过去了,所以我们环境变量配置在它身上就好了

vim /etc/profile
export JAVA_HOME=/user/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar

export PATH=$PATH:$JAVA_HOME/bin

在这里插入图片描述
加在配置文件最后面就可以了

. /etc/profile

输入如下命令,

java -version

如果出现在这里插入图片描述
则说明安装成功

至于mysql及其他软件均可选择在宝塔安装
访问地址
在这里插入图片描述
选择linux版
点击立即安装
在这里插入图片描述
按步骤安装即可
安装完成后会给你如下访问地址
在这里插入图片描述
根据外网地址访问,输入账号密码后即可进入控制面板
在这里插入图片描述
点击软件商店,选择需要下载的软件即可
当然需要部署项目的话安装mysql是必不可少的
在这里插入图片描述
安装完mysql后
更改密码的地方在数哪里
在这里插入图片描述
点击root密码即可修改mysql密码
部署SpringBoot项目

4.部署SpringBoot项目

linux云服务器上的环境我们都已经配置好了,但好像差了一个tomcat?因为springboot内置了tomcat,所以后面我们把它打包成jar包就可以免去tomcat的配置了(如果是打包成war包,那还是要配置tomcat的)。
回到我们本地windows Springboot项目,下面我们对我们的项目做一些设置
打开pom.xml,添加如下语句,将项目的打包形式设置好

<!-- 打包成jar包 -->
	<packaging>jar</packaging>

在这里插入图片描述
打开application.properties,设置项目运行端口(我用的是8080,默认是8080,如果你用的是别的端口,要把你的端口加入到安全组中去)
当然你也可以用server.port设置端口号:
在这里插入图片描述

数据库连接也不要忘记配了在这里插入图片描述
项目打包成jar包,点击maven >> clean >> package在这里插入图片描述
项目打包成功,可以在左边target文件夹中看到项目的jar包
在这里插入图片描述
把这个jar复制到桌面,打开Xshell,点机xftp传输文件
在这里插入图片描述
如果xftp还未下载,点击此处下载当然也可以选择用360软件助手无脑下载
选定刚才打包的项目传输到linux上即可
在这里插入图片描述
耐心等待上传成功,使用ls指令可以看到我们上传成功的jar包
在这里插入图片描述
我们要想在linux系统上运行这个项目,就要保证他运行所用的端口没有被占用,不然运行就会报错

查看端口使用情况

netstat -anp | grep 8080   //netstat -anp | grep <端口号>

如果这个端口被占用了(没被占用的时候不显示任何东西),查看占用端口的PID

sudo lsof -i:8080  //sudo lsof -i:<端口号>

在这里插入图片描述

我们要把它kill掉,留出空位来运行我们的项目。kill后再次查看端口,可以看到这个端口已经腾出来了(查询为空)

sudo kill -9 26191  //sudo kill -9 <PID>

端口放出来后,只需要运行项目就大功告成了

nohup java -jar XXX.jar >temp.txt &

temp.txt &的意思将nohup java -jar XXX.jar 命令的的输出、重定向到temp.txt文件中,而不是把输出内容打印到xshell命令页上.

如果项目发布后网页无法访问,有以下几种处理方法

  1. 检查服务器安全组是否打开
  2. 查看项目是否有bug,项目日志都储存在上文中所说的temp.txt文本中
  3. 开放8080防火墙
 firewall-cmd --permanent --zone=public --add-port=8080/tcp
firewall-cmd --reload
firewall-cmd --zone=public --query-port=8080/tcp
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只猪的思考

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值