zoukankan      html  css  js  c++  java
  • Spring Boot jar包linux服务器部署

    Spring Boot 部署

    一.使用命令行java -jar 常驻

    nohup java -jar spring-boot-1.0-SNAPSHOT.jar > log.file 2>&1 &

    其中spring-boot-1.0-SNAPSHOT.jar为上传的jar包名

    关闭通过ps -aux | grep spring 找到pid.用kill -9 [pid]结束进程

    二.使用Linux服务的方式启动、停止、重启

    1、首先在 pom.xml 中配置插件

        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <executable>true</executable>
                    </configuration>
                </plugin>
            </plugins>
        </build>
        
    	特别注意一下 <executable>true</executable>
    

    2、然后正常使用 mvn clean package -Dmaven.test.skip=true 将工程打成jar包

    3、上传jar包到服务器,假设部署路径为 /var/apps/myapp.jar ,使用命令做一个软连接到 /etc/init.d 目录,命令:

    ln -s /var/apps/myapp.jar /etc/init.d/myapp

    其中 /etc/init.d/myapp最后的 myapp 可以是别的名字,这个就是服务名,我们后面使用 service [服务名] start 来启动(下面有说明)。

    4、给jar文件授予可执行权限,命令:

    chmod +x myapp.jar

    5、接下来,就可以使用我们熟悉的 service myapp start|stop|restart|status 来对应用进行启停了。
    执行命令后将得到形如 Started|Stopped [PID] 的结果反馈。
    默认PID文件路径:/var/run/appname/appname.pid
    默认服务日志文件路径:/var/log/appname.log(可以通过下面.conf 的方式修改LOG_FOLDER)

    6、使用自定义的.conf文件来变更默认配置,方法如下:
    在jar包相同路径下创建一个.conf文件,名称应该与.jar的名称相同,如myapp.conf(如果我们打包的文jar文件为 myapp-1.0.0.jar 那么这里的conf文件也应该是 myapp-1.0.0.conf),其内容配置可以如下:

    JAVA_HOME=/usr/local/jdk
    JAVA_OPTS=-Xmx1024M
    LOG_FOLDER=/data/logs/myapp
    

    注:LOG_FOLDER 对应的文件夹目录要必须存在,如果目录不存在,服务并不会自从创建目录。

    华丽丽的分割线

    如果你是CentOS 7或红帽7以上,你还可以用下面的方法处理,为什么要用这样的方法(请自行研究),这里直接提供结果,哈哈
    编辑服务文件 vim /usr/lib/systemd/system/myapp.service

    [Unit]
    Description=frbao-publicity
    After=network.target
    
    [Service]
    WorkingDirectory=/var/apps/myapp
    ExecStart=/usr/local/java/bin/java -Dsun.misc.URLClassPath.disableJarChecking=true -jar /var/apps/myapp.jar
    ExecStop=kill $MAINPID
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    

    使用Linux 7 以后服务新的启动方式,相关命令

    启动
    systemctl start myapp
    停止
    systemctl stop myapp
    重启
    systemctl restart myapp
    查看日志
    journalctl -u myapp
    
  • 相关阅读:
    正则表达式-汉字的匹配方法
    python 正则匹配中文(unicode)(转)
    Notepad++ 快捷键 大全
    gvim 编辑器配置
    gvim代码补全
    UNICODE,GBK,UTF-8区别
    AJAX
    day 75 中间件
    Cookie和Session 装饰器的修复技术
    必知必会13条 单表查询之双下划线 ForeignKey操作 ManyToManyField 聚合分组
  • 原文地址:https://www.cnblogs.com/zhengshiqiang47/p/8119944.html
Copyright © 2011-2022 走看看