1. 创建服务配置文件
[root@localhost ~]# cat /etc/systemd/system/test.service [Unit] Description=test Service After=syslog.target [Service] User=root ExecStart=/home/test/current/app.jar SuccessExitStatus=143 [Install] WantedBy=multi-user.target
2. 配置介质包启动文件
[root@localhost test]# cat shared/config/app.conf # -------------------------------------------------------------------------- # The “mode” of operation. The default depends on the way the jar was built, # but will usually be auto (meaning it tries to guess if it is an init script by checking # if it is a symlink in a directory called init.d). # You can explicitly set it to service so that the stop|start|status|restart commands work, # or to run if you just want to run the script in the foreground. # -------------------------------------------------------------------------- # MODE= # -------------------------------------------------------------------------- # If the start-stop-daemon command, when it’s available, should be used to control the process. # Defaults to true. # -------------------------------------------------------------------------- # USE_START_STOP_DAEMON= # -------------------------------------------------------------------------- # The root name of the pid folder (/var/run by default). # -------------------------------------------------------------------------- # PID_FOLDER= # -------------------------------------------------------------------------- # The name of the folder to put log files in (/var/log by default). # -------------------------------------------------------------------------- #LOG_FOLDER=/home/ckettle/schedule/shared/logs # -------------------------------------------------------------------------- # The name of the log file in the LOG_FOLDER (<appname>.log by default). # -------------------------------------------------------------------------- # LOG_FILENAME= # -------------------------------------------------------------------------- # The name of the app. If the jar is run from a symlink the script guesses the app name, # but if it is not a symlink, or you want to explicitly set the app name this can be useful. # -------------------------------------------------------------------------- # APP_NAME= # -------------------------------------------------------------------------- # The arguments to pass to the program (the Spring Boot app). # -------------------------------------------------------------------------- RUN_ARGS="--spring.pid.file=/home/test/shared/tmp/application.pid --spring.config.location=file:/home/test/shared/config/ --spring.profiles.active=test" # -------------------------------------------------------------------------- # The location of the java executable is discovered by using the PATH by default, # but you can set it explicitly if there is an executable file at $JAVA_HOME/bin/java. # -------------------------------------------------------------------------- JAVA_HOME=/usr/local/java/jdk1.8.0_11 # -------------------------------------------------------------------------- # Options that are passed to the JVM when it is launched. # -------------------------------------------------------------------------- # JAVA_OPTS= # -------------------------------------------------------------------------- # The explicit location of the jar file, # in case the script is being used to launch a jar that it is not actually embedded in. # -------------------------------------------------------------------------- # JARFILE= # -------------------------------------------------------------------------- # if not empty will set the -x flag on the shell process, making it easy to see the logic in the script. # -------------------------------------------------------------------------- # DEBUG=
3. 介质包赋权
chmod u+x /home/test/current/app.jar
4. 控制介质包
systemctl status/restart/start/stop test.service