Centos安装服务
实现目标
我们有一个whale.jar包,正常我们是通过java启动命令进行启动,比如:
nohup java -Dloader.path=/xxx/service/whale/lib/ -jar /xxx/service/whale/whale.jar --server.root.basedir=/xxx >out.log &
我们想通过
systemctl start whale
来启动whale服务
编制启动脚本
在/opt/topology/autostart下面新建whale脚本文件
case "$1" in
start)
echo "Starting whale..."
nohup java -Dloader.path=/xxx/service/whale/lib/ -jar /xxx/service/whale/whale.jar --server.root.basedir=${TOPOLOGY_BASE_DIR} > /dev/null 2>&1 &
;;
编制service文件
在/lib/systemd/system下创建whale.service文件
[Unit]
Description=whale service
After=network.target
[Service]
Type=forking
ExecStart=/bin/bash /opt/topology/autostart/whale start
ExecReload=/bin/bash /opt/topology/autostart/whale restart
ExecStop=/bin/bash /opt/topology/autostart/whale stop
[Install]
WantedBy=multi-user.target
注意里面是restart和stop命令在whale脚本里面没实现,大家可以自己去实现
重新加载systemctl配置
systemctl daemon-reload
然后可以执行systemctl start whale
设置开机启动
systemctl enable whale.service