Linux 系统运行项目的几种方式
简介
前几天在自己电脑上搭建了一个个人博客系统->Halo,觉得还挺好玩的,但是一关掉idea
就没法访问博客了,所以想着把项目部署到阿里云服务器上,这样就能继续愉快的玩耍了。我买的云服务器是Linux
系统的,在系统上部署完项目之后遂记录下了这篇博客。
准备工作
- 一般
web
项目在开发完成之后都是打成一个jar
包,然后推送到Linux
系统上运行的。
不管是你的项目是由
Maven
还是Gradle
来管理依赖的,在idea
上都能很方便的快速将项目打成jar
包,直接点击按钮就可以,命令都不用敲。
- 将
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
为进程号。