zoukankan      html  css  js  c++  java
  • Centos-Springboot项目jar包自启动

    CentOS环境下部署Springboot项目的jar包开机自启动。

    部署环境

    • Centos 7.5
    • Springboot 2.1.x

    操作步骤

    修改pom

    在pom.xml文件中<plugin>标签中添加以下代码:

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

    主要是executable这个标签

    赋予jar包权限

    $ chmod a+x /home/demo/demo-1.0.0.1.jar
    

    注释:

    a+x 是给所有人加上可执行权限,包括所有者,所属组,和其他人

    创建jar包的软连接

    $ ln -s /home/demo/demo-1.0.0.1.jar /etc/init.d/demo
    

    注释:

    • demo即为自定义的服务名称
    • 删除软连接可以使用 rm -rf /etc/init.d/demo

    链接jdk下的java到sbin目录下

    $ ln -s ${JAVA_HOME}/bin/java /sbin/java
    

    注释:

    • 非绿色版本的jdk可以忽略该步骤
    • 不执行上述的命令,在启动服务时会出现java找不到的问题

    创建conf文件

    在jar包的同级目录下创建和jar包名字完全相同,后缀为conf的文件,如jar包为demo-1.0.0.1.jar,先切换到jar包所在目录:

    $ vim demo-1.0.0.1.conf
    

    在创建的文件中输入以下内容:

    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
    

    注释:

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

    • conf文件配置参数官网地址

    添加开机启动

    $ chkconfig demo on
    
    $ service demo start
    
    // 或者使用下面的命令
    
    $ systemctl enable demo
    
    $ systemctl start demo
    

    重启验证是否可用:

    $ reboot
    
    $ jps
    

    移除开机自启动

    $ service demo stop
    
    
    $ chkconfig demo off
    
    //或者使用下面的命令
    
    $ systemctl disable demo
    
    $ systemctl stop demo
    
    

    问题处理

    生成的demo.log文件特别大,导致服务器存储被沾满,从而影响整个服务器的运行。

    解决方案:

    • 指定demo.log文件位置,不指定的话默认在/var/log目录下
    • 使用logback日志时,生产环境一定要将console去掉,不然会导致demo.log越来越大
    <!-- 4.2 生产环境:输出到文档 -->
    <springProfile name="prod">
    	<root level="info">
    		<!-- 生产环境注释掉,不然生成的.log文件太大,导致磁盘占用过多 -->
    		<!-- <appender-ref ref="CONSOLE" /> -->
    		<appender-ref ref="LOG_FILE" />
    		<appender-ref ref="ERROR_FILE" />
    	</root>
    </springProfile>
    
  • 相关阅读:
    Uploadify跨域上传原理
    C#中HttpClient使用注意:预热与长连接
    前端必读:浏览器内部工作原理
    从零开始学习jQuery
    ManualResetEvent 类的用法
    线程池用法的改进
    我的第一篇博客
    Es6新语法 let篇
    如何测试解析是否生效?
    主机记录和记录值(域名服务器绑定详解)
  • 原文地址:https://www.cnblogs.com/ybyn/p/13690839.html
Copyright © 2011-2022 走看看