springboot打包部署到linux服务器的方法
1.由于springboot集成了tomcat,所以打包的时候不再使用war,而是使用jar
.xml文件
<groupId>包名</groupId>
<artifactId>打包的名字</artifactId>
<version>0.0.1-SNAPSHOT(版本)</version>
<packaging>jar(包类型)</packaging>
2.将springboot主启动类添加继承SpringBootServletInitializer
,并且重写configure()
方法
public class JspApplication extends SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(JspApplication .class, args);
}
@Override//为了打包springboot项目
protected SpringApplicationBuilder configure(
SpringApplicationBuilder builder) {
return builder.sources(this.getClass());
}
}
3.Maven package 打包
打包成功:
4.target 目录有 jar 文件:mybootjar.jar。
5.将项目中的target文件夹下的jar包复制出来即是您要的包
6.将jar包放到linux的任意文件夹(可访问)下
输入 java -jar 文件名.jar
这样有一个问题就是当你终端关闭后,就不能访问了,或者说隔一段时间后就不能访问了
如何解决这个问题呢 ?使用nohup
7.进入该文件夹目录,执行命令 nohup java -jar 包名.jar &
使用nohup
不挂机启动,然后便可以访问页面了。
nohup
的意思不挂服务,常驻的意思,除非云服务器重启,那就没法了;- 最后一个&表示执行命令后要生成日志文件nohup.out=
出现:nohup: ignoring input and appending output to ‘nohup.out’
正常情况,显目启动成功
检测:最后在浏览器地址栏输入项目地址,检查项目是否部署成功
8.如果要关闭服务可以直接查询到服务的进程号,然后kill
.
#ps -ef | grep "被查询的服务名(包名xx.jar)"
查询服务进程号命令
kill
命令用于删除执行中的程序或工作:
kill [-s <信息名称或编号>][程序]
kill [-l <信息编号>]
参数说明:
- -l <信息编号> :若不加<信息编号>选项,则 -l 参数会列出全部的信息名称。
- -s <信息名称或编号> :指定要送出的信息。
- [程序] :可以是程序的
PID
或是PGID
,也可以是工作编号。
使用 kill -l 命令列出所有可用信号。
最常用的信号是:
- 1 (HUP):重新加载进程。
- 9 (KILL):杀死一个进程。
- 15 (TERM):正常停止一个进程。
彻底杀死进程:# kill -9 123456
杀死指定用户所有进程
#kill -9 $(ps -ef | grep hnlinux) //方法一 过滤出hnlinux用户进程
#kill -u hnlinux //方法二
ps: linux 的 kill 命令是向进程发送信号,kill 不是杀死的意思,-9 表示无条件退出,但由进程自行决定是否退出,这就是为什么 kill -9 终止不了系统进程和守护进程的原因。
常用端口介绍:
端口:21
服务:FTP服务器所开放的端口,用于上传、下载。
端口: 22
服务:ssh
端口: 80
服务:HTTP 用于网页浏览
端口:389
服务:LDAP ILS 轻型目录访问协议和NetMeetingInternet Locator Server
端口:443
服务:网页浏览端口 能提供加密和通过安全端口传输的另一种HTTP
端口:8080
服务:代理端口