1配置好properties
2 打jar包
3 上传运行 nohup java -jar xxx.jar &
nohup 常驻 不会因为你关闭命令界面而停止服务 &表示执行命令后要生成日志文件nohup.out 也可以指定日志文件生成 如
nohup java -jar /home/www/weixin-springboot/weixin-0.0.1-SNAPSHOT.jar >/home/www/weixin-springboot/logs/web.log &
这种方式启动项目会默认生成一个nohup.out的文件来记录日志,而且这个文件太占磁盘内存了,几天下来发现这个文件大小有好几个G,所以为了减少磁盘被大量消耗启动项目时可以不输出nohup.out文件
nohup java -jar xxx.jar >/dev/null 2>&1 &
>/dev/null 的作用是将标准输出1重定向到/dev/null中。/dev/null代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称“黑洞”
2>&1 这条命令的作用是错误输出将和标准输出同用一个文件描述符,说人话就是错误输出将会和标准输出输出到同一个地方
linux在执行shell命令之前,就会确定好所有的输入输出位置,并且从左到右依次执行重定向的命令,所以>/dev/null 2>&1的作用就是让标准输出重定向到/dev/null中(丢弃标准输出), 然后错误输出由于重用了标准输出的描述符,所以错误输出也被定向到了/dev/null中,错误输出同样也被丢弃了。执行了这条命令之后,该条shell命令将不会输出任何信息到控制台,也不会有任何信息输出到文件中
5 停止和重启
停止:查询到pid 然后kill -9 pid
# netstat -tunlp |grep 8080
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 4814/java
# kill -9 4814
重启:重新执行重启命令
延伸
nohup和&
&
是指在后台运行,但当用户推出(挂起)的时候,命令自动也跟着退出
nohup
: 不挂断的运行,注意并没有后台运行的功能,,就是指,用nohup
运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响他的运行,注意了nohup
没有后台运行的意思;&
才是后台运行
nohup COMMAND &
这样就能使命令永久的在后台执行
注意:本文归作者所有,未经作者允许,不得转载