如何在Linux虚拟机或服务器上发布或部署一个Spring项目
Posted 一只猪的思考
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在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命令页上.
如果项目发布后网页无法访问,有以下几种处理方法
- 检查服务器安全组是否打开
- 查看项目是否有bug,项目日志都储存在上文中所说的temp.txt文本中
- 开放8080防火墙
firewall-cmd --permanent --zone=public --add-port=8080/tcp
firewall-cmd --reload
firewall-cmd --zone=public --query-port=8080/tcp
以上是关于如何在Linux虚拟机或服务器上发布或部署一个Spring项目的主要内容,如果未能解决你的问题,请参考以下文章