应该可以通过其他方式部署,由于本身见识有限,暂时总结出两种部署方式。欢迎评论告知更多方式,相互交流。
方式一 jar包部署
-
请确保目标服务器有java环境,执行用户配置好java目录
-
检查pom.xml配置文件中是否有
<packaging>jar</packaging>
若没有,则在project内添加(与项目的artifactId、parent 和 groupId 同级)
-
编译+运行(在idea中直接运行项目)完成后可以在target目录中找到目标jar包
-
将 jar 上传到服务器 或 运行目录中
-
通过命令运行jar包
# 若需要窗口内运行请执行 java -jar 目标jar包名称.jar # 若需要一直后台运行(包括此次会话连接断开后,即关闭terminal窗口后) nohup java -jar 目标jar包名称.jar &
在命令后面加
&
意味着需要将其后台运行。若单纯后台运行,在此次会话连接断开后,会停止此次会话期间后台的任务。nohup 为不挂断运行,即使收到回话连接结束的命令也不会影响命令执行(不是后台执行)。
为了实现一直启用服务的功能,因此两个命令都需要使用
方式二 war包部署
-
请确保目标服务器有java环境,执行用户配置好java目录,并有tomcat
-
检查pom.xml配置文件中是否有
<packaging>war</packaging>
若没有,则在project内添加(与项目的artifactId、parent 和 groupId 同级)
-
修改springBoot的主方法
@SpringBootApplication public class MainApplication extends SpringBootServletInitializer { // 继承SpringBootServletInitializer类,重写父类的configure方法 @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(MainApplication.class); } public static void main(String[] args) { SpringApplication.run(MainApplication.class, args); } }
-
编译+运行(在idea中直接运行项目)完成后可以在target目录中找到目标war包
-
将 war 上传到服务器或本地 的 搭载运行的tomcat的webApp目录下
-
启动tomcat
bin/startup.sh
附注:结束运行jar的方式
-
若使用窗口内运行(即运行jar包的第一种方式)
- 直接关闭窗口或在窗口内执行
ctrl
+c
即可 - 参照一直运行的关闭方法⬇️
- 直接关闭窗口或在窗口内执行
-
若需要一直后台运行(运行jar包第二种方式,或运行war包)
-
使用 ps/lsof 查询进程号(pid)
# 使用ps查询pid ps -ef | grep 关键字或文件名 # 使用lsof查看端口占用(将8080替换为jar占用的端口) lsof -i :8080
-
kill -9 进程号(pid)
,如kill -9 4096
-
-
关闭tomcat
- 直接运行
bin/shutdown.sh
- 使用上述的ps / lsof方法
- 直接运行