Springboot项目远程部署
这是本人踩坑后成功部署项目到远程Linux服务器的全过程,希望能帮助到各位小伙伴
导出jar包
- 在Maven面板执行clean命令
- 到项目根目录下,执行下面语句,到target目录下获取xxxx.jar运行。
mvn package -Dmaven.test.skip=true
测试jar包是否能正常运行
- windows+r进入命令行
- 找到jar包所在目录,执行命令java -jar xxx.jar
- 可以正常运行则进行下一步
服务器上安装jdk
我使用的方法是先在本机上下载压缩包,再上传到服务器上
下载安装jdk
-
Xsehll上下载宝塔面板
-
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh
-
安装成功后会得到登录宝塔面板的URL,账号和密码
- 在xhell中创建目录
- 创建sort
mkdir -p /java/sort
(此目录用来存放安装包) - 创建install
mkdir -p /java/install
tar -zxvf /java/sort/jdk-8u144-linux-x64.tar.gz -C /java/install/
解压安装包
配置环境变量
-
vim /etc/profile
-
输入i进入编辑模式
-
将下列内容复制粘贴到文件中
export JAVA_HOME=/root/java/install/jdk1.8.0_144 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
- JAVA_HOME的路径是从根目录开始到解压出来的文件目录,路径可以从宝塔上复制,如图
-
esc
退出编辑模式,输入:wq!
保存退出 -
配置好后在终端输入java -version检查是否配置成功
终端运行jar包以及防火墙问题
在运行jar包的时候遇到了一些小坑,成功运行了检查进程也没问题,但是访问不了,后来解决后发现有几步需要注意的
首先我们需要在终端运行jar包
-
创建一个文件夹
mkdir -p /demo
-
在宝塔界面上,上传jar包到该文件夹里
-
打开Xshell,在终端找到该目录下
cd /demo
-
运行jar包
java -jar xxx.jar
,但该方法关闭终端后项目也随之停止- 如果想要在后台长期挂起运行,切换命令
nohup java -jar onlile-1.0.0-SNAPSHOT.jar &
- 如果想停止运行,可以查看进程和终止进程
- 查看进程 ps -ef | grep java
- 终止进程 kill 命令
kill -9 2809
防火墙问题
- 运行之后可以先进行测试访问
- 一般Linux上的防火墙都是开启状态,我们需要放行项目运行的端口,我的是默认8080
- 有两种办法解决
- 第一种方法简单粗暴,直接关闭防火墙
systemctl stop firewalld.service
- 第二种方法委婉点,放行8080端口,
firewall-cmd --permanent --add-port=8080/tcp
-
观察防火墙状态
systemctl status firewalld
-
最后还有一个注意点,忽略这个也会导致不能够访问,服务器界面上需要添加规则,这样才能访问到8080端口