在云服务器上部署-jar项目时,直接java -jar来运行会在终端直接运行,这时候想做其他的事情需要再开一个终端,这样是很麻烦的。
让项目后台启动的方式有很多,这里使用的是将项目作为一个service的方式来后台启动。
这是centos7提供的一个功能,将自己要创建的service服务放在/etc/systemd/system下即可。
详细步骤:
执行命令:
vim /etc/systemd/system/mall.service
我为service取的名字是mall,这里可以换成其他名字。
接下来,输入:
[unit]
Description=mall
After=syslog.target
[Service]
User=root
ExecStart=/usr/local/jdk1.8.0_231/bin/java -jar /root/mall.jar
[Install]
WantedBy=multi-user.target
重点在[service]这块:
- User指明用户,ExecStart指明作为service来启动的指令,即java -jar xxx.jar。
- 这里的java和jar包都要填绝对路径
- java -jar与xxx.jar之间可以穿插一些配置命令,如
ExecStart=/usr/local/jdk1.8.0_231/bin/java -jar -Dspring.profiles.active=prod /root/mall.jar
另外,Description可填写相应的描述,其他的不用改动。
之后就可以使用
systemctl start mall
systemctl stop mall
systemctl restart mall
来进行服务启停和重启。
还可以设置开机自启动
systemctl enable mall