Linux 系统运行项目的几种方式

简介

前几天在自己电脑上搭建了一个个人博客系统->Halo,觉得还挺好玩的,但是一关掉idea就没法访问博客了,所以想着把项目部署到阿里云服务器上,这样就能继续愉快的玩耍了。我买的云服务器是Linux系统的,在系统上部署完项目之后遂记录下了这篇博客。

准备工作

  • 一般web项目在开发完成之后都是打成一个jar包,然后推送到Linux系统上运行的。

不管是你的项目是由Maven还是Gradle来管理依赖的,在idea上都能很方便的快速将项目打成jar包,直接点击按钮就可以,命令都不用敲。

Linux 系统运行项目的几种方式Linux 系统运行项目的几种方式

  • jar包发送到服务器上

运行项目(先进入jar包所在目录)

注意:Halo.jar是我的项目jar包的名字

  • 方式一:java -jar Halo.jar

运行后,当前界面会像控制台一样输出很多相关信息,此时当前窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序就会退出。

  • 方式二:java -jar Halo.jar &

&代表在后台运行,当前窗口不被锁定,但是当窗口关闭时,程序会中止运行。

  • 方式三:nohup java -jar Halo.jar &

nohup意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行。当用nohup命令执行任务时,默认情况下该任务的所有输出信息被重定向到nohup.out文件中(文件在jar包的同级目录下),除非另外指定了输出文件。

  • 方式四:nohup java -jar Halo.jar >temp.txt &

这个命令整体表示在后台运行程序,且当账户退出或终端关闭时,程序仍然运行。其中:>temp.txt表示将运行项目所产生的内容输出到temp.txt这个文件里。

其他命令

  • netstat -nlp |grep :9181

查看占用某端口的进程的pid(进程号),其中:9181表示端口号。

  • ps -ef|grep Halo.jar

如果忘了进程号,可以通过当前运行的程序jar包的名字来查看pid进程号,其中:Halo.jar为程序jar包的名字。

  • kill -s 9 24204

关闭某个进程,其中:24204为进程号。

参考文档

https://www.jb51.net/article/167330.htm