CentOS-配置jar包自启动(SpringBoot)

在pom.xml文件<plugin>中添加配置后,再打包(开发人员)

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <executable>true</executable>
    </configuration>
</plugin>


创建jar包的软连接(删除:rm -rf /etc/init.d/demo)
$ ln -s /home/demo/demo-1.0.0.1.jar /etc/init.d/demo
软连接的名字自定义即服务名


赋予jar包可执行权限
$ chmod a+x /home/demo/demo-1.0.0.1.jar

将jdk下的java连接到sbin下(注:非绿色版可忽略)
$ ln -s ${JAVA_HOME}/bin/java /sbin/java
不执行上述命令,在服务启动时会出现找不到java的问题

在jar包的同级目录下创建与jar包同名的.conf文件,如jar包名字是demo-1.0.0.1.jar,那么就需要创建demo-1.0.0.1.conf文件,名字必须相同。
$ vim /home/demo/demo-1.0.0.1.conf

注:

1.LOG_FOLDER,就是日志的存储位置必须是已经存在,否则启动报错

2.可选--spring.profiles.active=prod 

APP_NAME=demo
MODE=service #后台运行
JAVA_HOME=/usr/java/jdk1.8.0_191  #注:非绿色版可忽略
JAVA_OPTS="-server -Xms4G -Xmx4G -XX:+UseG1GC -Dfile.encoding=utf-8"
RUN_ARGS="--server.port=80 --spring.profiles.active=prod"
LOG_FOLDER=/home/demo
LOG_NAME=demo.log


参考conf文件的参数:官网链接

 

添加开机自启动
$ chkconfig demo on

$ service demo start

$ systemctl enable demo

$ systemctl start demo

重启验证是否可用
$ reboot

使用jps命令查看服务是否启动
$ jps

如果需要移除开机启动,可以执行以下命令:
$ service demo stop

$ chkconfig demo off

$ systemctl disable demo

$ systemctl stop demo

 

用logback的同学请注意:

    <!--输出到控制台 -->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
            <!-- 设置字符集 <charset>UTF-8</charset> -->
        </encoder>
    </appender>

    <!-- 生产环境:输出到文档 -->
    <springProfile name="prod">
        <root level="info">
            <!-- 生产环境不要将日志输出到console,不然生成的.log会滚雪球,不怕死的同学自行忽略~ -->
            <!-- <appender-ref ref="CONSOLE" /> -->

            <appender-ref ref="LOG_FILE" />
            <appender-ref ref="ERROR_FILE" />
        </root>
    </springProfile>

 
原文地址:https://www.cnblogs.com/zyrs/p/13653174.html