1、vi /etc/rc.d/init.d/jwt(jwt为你要做服务的名字)
2.填写以下内容
#!/bin/bash
#chkconfig: 345 20 90
#description:jwt 1.0的服务
BASE_DIR="/soft/"
JAR_FILE="jwt.jar"
SERVICE_NAME="jwt1.0"
JAVA_PARAMS="-Xms256m -Xmx512m -XX:MaxNewSize=256m"
# JDK dir
JAVA_HOME=/home/staff/jdk1.8.0_161
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
CLASSES=${CLASSPATH}:/usr/work/space1/bin
export JAVA_HOME
export PATH
export CLASSPATH
start()
{
echo "starting ${SERVICE_NAME}..."
nohup java -Dfile.encoding=utf-8 -Dlog4j.configurationFile="$BASE_DIR"log4j2.properties -Dsun.jnu.encoding=utf-8 $JAVA_PARAMS -jar $BASE_DIR$JAR_FILE -conf "$BASE_DIR"conf.json >/dev/null 2>&1 &
echo "${SERVICE_NAME} started"
}
stop()
{
echo "stopping ${SERVICE_NAME}..."
pid=`ps -ef|grep $JAR_FILE |grep -v grep |awk '{print $2}'`
kill -9 $pid
echo "${SERVICE_NAME} stopped"
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 1
start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
3.赋予权限 chmod +x /etc/rc.d/init.d/jwt
4.添加开机启动 chkconfig --add jwt
chkconfig --del jwt
chkconfig --add jwt
chkconfig --list jwt
修改后需要先del 再 add
345 20 90才能保证网络服务已启动
5.启动服务 systemctl start jwt 或者 service jwt start
Ubuntu的制作方法
在ubuntu 20.04 lts
下,没有chkconfig
命令,本文记录解决方案。
ubuntu下chkconfig
命令可以使用sysv-rc-conf
服务管理程序代替,只需要apt安装即可
添加镜像源
- 直接安装可能会报错
$ sudo apt-get install sysv-rc-conf
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 0%
正在分析软件包的依赖关系树
正在读取状态信息... 完成
E: 无法定位软件包 sysv-rc-conf
- 此时则需要添加镜像源
sudo vim /etc/apt/sources.list
在sources.list 文件末尾添加镜像源:
deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse
- 更新安装源
sudo apt-get update
安装 sysv-rc-conf
sudo apt-get install sysv-rc-conf
- 此时已经安装了
sysv-rc-conf
,但链接名称不是chkconfig
链接 chkconfig
链接 chkconfig有两种方式, 一是使用alias 起别名, 二是复制sysv-rc-conf文件为chkconfig
- 通过alias起别名:
alias chkconfig=sysv-rc-conf
alias语法
# 起别名
alias [别名]=[指令名称]
# 删除别名
unalias [别名]
使用alias起别名,在使用sudo权限时,可能会出现找不到命令的问题, 因此建议直接复制sysv-rc-conf文件为chkconfig
- 复制sysv-rc-conf文件为chkconfig :
- 最后执行sysv-rc-conf即可进入界面操作+为启动,-为停止,空格为选中某个项目
- 需要知道的是,程序目录需要赋予执行权限.
sudo cp /usr/sbin/sysv-rc-conf /usr/sbin/chkconfig