项目场景:
关于使用nohup部署jar包的一个致命bug
问题描述
这是第一次使用 nohup命令部署springboot项目 在里面遇到的坑,跟各位分享一下,如果有遇到的,欢迎交流。
在我这次跳槽的时候,被一个朋友忽悠到他朋友那里去了,具体怎么忽悠的我就不详细说了,去了之后我才知道原来是一个创业型的公司,里面开发团队都没有,所以什么都要我亲自一个人做,从前端到后端到部署到运维一条龙,
经历了千辛万苦才把一个项目做完,以前部署过springmvc项目,没有部署过springboot项目类型的jar文件,刚好这次选用的是springboot做的,于是就潜心研究项目部署,通过nginx配置,终于部署成功,什么域名购买,域名解析,nginx 配置,都弄好了,
高高兴兴的下班了,晚上睡了一觉第二天上班打开网站一看,卡的出奇,赶快看看服务器,一查磁盘满了,查看服务器大文件,看到nohup.out文件占了百分之99,于是百度文章发现,nohup java -jar xxx.jar & 居然是坑人的,
这种执行方式会默认生成一个nohup.out文件,并且生成环境的日志会时时刻刻保存进去,导致磁盘爆满,最后通过一个博友的方式成功解决,
解决方案:
nohup java -jar xxx.jar >/dev/null/ 2>&1 & 这种方式成功规避。
或者自定义脚本文件放在linux 系统中,如:
1. 其中start.sh文件如下:
nohup java -jar -server -Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m nedo-admin.jar >/dev/null 2>&1 &
2. stop.sh 文件如下:
ps -ef | grep nedo-admin | grep -v grep | awk ‘{ print $2 }’ | xargs kill -9
3. restart.sh 文件如下:
./stop.sh
./start.sh
三个文件和jar包在同一目录,并且要把三个文字赋予777权限