在linux上部署springboot项目

##springboot在linux中运行

###单次运行

  • 在idea中找到maven可视化界面,双击package打包jar文件

  • 打开terminal,左上角shell->new remote connection->选sftp->user填root,下面填sftp root@ip地址(本人sftp root@47.99.205.75)->上传文件格式put 本地地址 远程文件要放的地址(usr/lib)

  • 在linux中提前已经用Navicat创建数据库,只需

    1
    java -jar /usr/lib/项目jar名.jar --spring.profiles.active=prod
  • 即可在本地用ip地址:端口号访问

  • 当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出

以上方法在关闭进程后项目也停了

###持续运行

1
nohup java -jar /usr/lib/项目jar名.jar &
  • nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行

  • 当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。

1
nohup java -jar XXX.jar >temp.txt &
  • 解释下 >temp.txt

  • command >out.file

  • command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。

  • 可通过jobs命令查看后台运行任务

1
jobs

那么就会列出所有后台执行的作业,并且每个作业前面都有个编号。
如果想将某个作业调回前台控制,只需要 fg + 编号即可。

1
fg 23
  • 通过lsof查询进程
1
lsof -i:端口号

如果提示command not found,先下载lsof

1
yum install lsof

a:显示所有程序
u:以用户为主的格式来显示
x:显示所有程序,不以终端机来区分

注:

  用ps -def | grep查找进程很方便,最后一行总是会grep自己

  用grep -v参数可以将grep命令排除掉

1
ps -aux|grep chat.js

结束nohup进程,

1
kill -9  进程号(注意是进程号不是端口号)
#
You forgot to set the qrcode for Alipay. Please set it in _config.yml.
You forgot to set the qrcode for Wechat. Please set it in _config.yml.
You forgot to set the business and currency_code for Paypal. Please set it in _config.yml.
You forgot to set the url Patreon. Please set it in _config.yml.
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×