应该可以通过其他方式部署,由于本身见识有限,暂时总结出两种部署方式。欢迎评论告知更多方式,相互交流。
请确保目标服务器有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 为不挂断运行,即使收到回话连接结束的命令也不会影响命令执行(不是后台执行)。
为了实现一直启用服务的功能,因此两个命令都需要使用
请确保目标服务器有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包的第一种方式)
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原文:https://www.cnblogs.com/wgh0807/p/13292354.html