springboot2项目打包生成jar包,这里不再累赘说明,将项目上传到服务器上,直接跑可执行
假设springboot2项目路径在 /root/data/package下,项目名为:sb2.hellow.0.0.1-SNAPSHOT.jar
java -jar /root/data/package/sb.hellow-0.0.1-SNAPSHOT.jar
若需要指定日志文件输出,则添加重定向日志输出
java -jar /root/data/package/sb.hellow-0.0.1-SNAPSHOT.jar > /root/logs/sb/hellow_msg.log 2>&1
若直接推出会直接终止,若不希望推出,可使用nohup
nohup java -jar /root/data/package/sb.hellow-0.0.1-SNAPSHOT.jar > /root/logs/sb/hellow_msg.log 2>&1
这种每次都需要进行敲打比较麻烦,可以通过服务的方式进行配置
在/etc/systemd/system自定义一个服务
touch sb.hellow.service
编辑sb.hellow.service,输入
[Unit]
Description=dspre service
After=network.target
[Service]
Type=simple
ExecStart=/bin/java -jar /root/data/package/sb.hellow-0.0.1-SNAPSHOT.jar
ExecStop=/usr/bin/kill -15 $MAINPID
[Install]
WantedBy=multi-user.target
若需要自定义日志输出,通过StandardOutput=file:path/append:path配置,并没有起作用(亲测),直接在ExecStart后面加 " > /root/logs/sb/hellow_msg.log 2>&1 "也没用。
通过sh执行,才能完美的跳转重定向日志,所以我调整了一下执行方式
[Unit]
Description=dspre service
After=network.target
[Service]
Type=simple
ExecStart=/bin/sh -c 'exec /bin/java -jar /root/data/package/sb.hellow-0.0.1-SNAPSHOT.jar > /root/logs/sb/hellow_msg.log 2>&1'
ExecStop=/usr/bin/kill -15 $MAINPID
[Install]
WantedBy=multi-user.target
重新加载并执行
systemctl daemon-reload
systemctl start sb.hellow.service
关闭执行
systemctl stop sb.hellow.service
结束,有不同结果的可以留言讨论一下哈.