logo头像
Snippet 博客主题

如何部署一个SpringBoot项目实现线上访问

1、项目入口中,实现接口

1
2
3
4
5
6
7
8
9
10
11
12
13
@SpringBootApplication
public class Application extends SpringBootServletInitializer {

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class); //Application对应class名称
}

public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}

}

2、在pom.xml中添加一行

1
2
3
<packaging>war</packaging>

<packaging>jar</packaging>

3、把项目中的其他测试的所有main函数更名或者注释,保证项目只有一个入口。

4、cmd到工程目录下

1
2
mvn clean  //清除了target目录
mvn package -Dmaven.test.skip=true

注:报错,xxx包不存在的解决:找到指定的文件下,检查下 import中是否有灰色的,应该是不小心导错了无用且不存在的包,删除即可。

5、cmd到target目录下

1
java -jar xxx.jar

在8080端口下就可以打开了

注:4和5两步骤也可以在IDEA里,对应”clean” “package”

6、在阿里云Linux服务器上部署。安装JDK后。

1
nohup java -jar wenda.jar > temp.txt 2>&1 &

7、如果重新上传
显示当前终端开的后台任务。 [xxx]为PID

1
jobs -l

终端已经关闭,找到 java -jar wenda.jar 的PID

1
ps ux

关闭PID

1
kill -9 PID

域名的配置

安装好 nginx 后
1、 查看nginx安装目录,并进入nginx.conf文件中
ps -ef | grep nginx

参考文献:官方教程|导出一个可部署的War文件