Springboot项目的云服务器部署

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 & 这样就能使命令永久的在后台执行


已有 0 条评论

    我有话说: