spring boot 能够打包成可执行的脚原本启动,其原理是在打成包时,将shell脚本注入到jar包中html
#参考:https://docs.spring.io/spring-boot/docs/1.5.3.RELEASE/reference/htmlsingle/#deployment-servicejava
1. 项目的 pom.xml 须要配置 executable 为 true,例如spring
<build> <finalName>demo-serverr</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <executable>true</executable> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <useSystemClassLoader>false</useSystemClassLoader> </configuration> </plugin> </plugins> </build>
2. 将项目打包,假设项目名称为 app-server.jar, 部署路径是 /usr/appshell
sudo ln -s /usr/app/app-server.jar /etc/init.d/app-server
3. 建立自定义参数配置文件 usr/app/app-server.conf (可选)apache
echo -e "JAVA_HOME=/usr/java/jdk1.8.0_181\nPID_FOLDER=/usr/app\nLOG_FOLDER=/usr/app\n" > /usr/app/app-server.conf
在 app-server.conf文件中,定义了JAVA_HOME,PID文件夹位置,日志文件夹位置,也能够根据实际状况添加其余配置。app
JAVA_HOME=/usr/java/jdk1.8.0_181 PID_FOLDER=/usr/demo LOG_FOLDER=/usr/demo
4. 建立空的日志文件maven
echo '' > /usr/app/app-server.log
5. 受权spring-boot
sudo chmod u+x /usr/demo/demo-server.jar sudo chmod u+r /usr/demo/demo-server.conf sudo chmod ug+rw /usr/demo/demo-server.log
6. 运行服务ui
sudo service demo-server start
7. 其余服务命令说明spa
#查看服务状态 sudo service demo-server status #中止服务 sudo service demo-server stop #强制中止服务 sudo service demo-server force_stop #重启服务 sudo service demo-server restart