IDEA关闭但是项目还在运行_Springboot项目部署运行

e5af36e8299a187b68af7096740651db.png

fbadf3508de7b169c1ec0b44d1d235ad.gif

3de965e0c27831abe1c55bacbc1bb60f.pngspringboot部署运行 9dafa9471c618b23d685a8bd89df39fb.png

    Springboot项目在刚开始创建的时候就可以选择最后要达成war包还是jar包

fc2abc061d6728a25b51b88696bbae20.png

     jar包和war的区别在于运行方式不同。jar可以直接采用java -jar的方式运行,但是war就必须部署外部容器才能运行。

      来说说springboot开发完成,如何部署在服务器上能够访问。

5a383234c5dca99512bd5cb21df7dd10.gif

❂ 直接运行

      开发完成,先来打成项目包。这里用到的开发工具是IDEA。点击IDEA右侧的Maven Build,然后打开Lifecycle,双击package

5237a2602b16d4a4af4405d13a90c9c2.png

      等待控制台输出BUILD SUCCESS即可,然后在项目的target目录下会有一个新生成的jar包,把他通过ssh工具上传到服务器的目录下。

      简单运行:

     java -jar project.jar

     这种方式虽然可以运行,但是当我们关闭命令页面之后,服务就停止运行了。这时候就可以采用第二种方式。

     nohup java -jar project.jar &

     这种方式就是在后台运行,当我们关闭页面之后也不会关停服务。

     运行成功之后,就可以通过 域名+端口号  或者  ip地址+端口号  访问了

4ab0850da4e0f25c204386ccf095cb0f.gif

更好的方式

     虽然上面的方式能够运行项目了,我们的项目也可以通过网址访问了,但是是不是总感觉还差了什么,服务器重启之后,自己的项目还需要登录服务器再手动运行,好麻烦。

    想想我们平时在linux服务器中怎么启动服务?我用的是centos7,我就以这个当例子了。

     比如说我想启动httpd服务,这时候我只需要输入

     systemctl start httpd.service

     如何停止呢?

     systemctl stop httpd.service

     加上开机自启

     systemctl enable httpd.service

    自己的springboot项目能不能也想这样?当然可以,为了便于立即,我把配置拆分成三个配置文件,其实放在一个service配置文件也是可以运行的

ab93b9548510b7bc42d4eec55445311d.png

❂ start.sh

启动脚本,就是能够使我们的jar正常运行的shell脚本。从这往下都是以我的项目为例,运行的jar包为 clock.jar。如果需要用,直接替换名字和路径即可。

#!/bin/sh

export JAVA_HOME=/usr/java/jdk1.8

 //jdk的路径,不知道的话可以用命令echo $JAVA_HOME

export PATH=$JAVA_HOME/bin:$PATH

 //这是环境变量

nohup java -jar /usr/springboot/clock.jar > /root/logs/clocklog.log 2>&1 &

//后台运行jar,并把运行日志输入到clocklog.log文件中,这个文件是自己创建的

echo $! > /var/run/clock.pid

//把进程号存入,方便停止

❂ stop.sh

     停止脚本,停止脚本没有太多的东西,只需要获取服务运行进程的pid号,然后

kill -9即可

stop.sh内容

#!/bin/sh

PID=$(cat /var/run/clock.pid)

//就是上面存入的进程号

kill -9 $PID

//杀死进程

❂ 项目名.service

     这个文件的创建位置是有规定的,不能随意创建。必须要在下面这个目录内创建

/usr/lib/systemd/system

里面写入如下内容

Description=clock

 //服务的名字

After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

ExecStart=/root/clock/clockstart.sh

 //启动文件路径

ExecStop=/root/clock/clockstop.sh

 //停止文件路径

PrivateTmp=true

[Install]

WantedBy=multi-user.target

     最后别忘了给两个sh脚本文件提权

       chmod 777 start.sh

       chmod 777 stop.sh

10329a528ef25bb958da49e8f79b6550.png

   到这就配置结束了。下面就是启动、关闭、开机自启命令

   systemctl start clock

   systemctl stop clock

   systemctl enable clock

   这是centos7的命令,如果是其他系统版本,去搜一下语法即可。启动成功之后就可以通过log文件查看我们的运行日志了。

   cat clocklog.log

   fe0ec05e0b2901a41ac9ffc4fc1a50c1.png

点亮在看,你最好看!

d5b53bbaf04ff57d54eea73c54ea5187.png
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值