注意事项:
- 修改
JAR_NAME
和SERVICE_NAME
变量的值 - 注意修改启动
ExecStart
启动命令 - 默认
java
在/usr/bin/
目录下有快捷方式 - 将当前脚本和
jar
文件放在同一目录下
脚本
#!/bin/bash
SCRIPT_DIR="$( cd "$( dirname "${
BASH_SOURCE[0]}" )" && pwd )"
JAR_HOME="$SCRIPT_DIR"
JAR_NAME="your jar name"
SERVICE_NAME="your server name"
INSTALL_DIR="/etc/systemd/system"
# Create a systemd service file
echo "[Unit]
Description=$SERVICE_NAME
After=network.target
[Service]
WorkingDirectory=$JAR_HOME
ExecStart=/usr/bin/java -jar -Xms200m -Xmx2000m $JAR_NAME
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/bin/kill -15 $MAINPID
Restart=always
User=root
Group=root
[Install]
WantedBy=multi-user.target" | sudo tee "$INSTALL_DIR/$SERVICE_NAME.service" > /dev/null
# Reload systemd
sudo systemctl daemon-reload
# Enable and start the service
sudo systemctl enable $SERVICE_NAME
sudo systemctl start $SERVICE_NAME
echo "Service $SERVICE_NAME installed and started successfully."