• Springboot 部署到linux(二)


    之前写了一篇部署的文章,但是打包时会运行所有的单元测试,如果不想测试的话,可以采用这种方式。

    第一部分:打包

    1.pom.xm添加配置

          <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <executable>true</executable>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <goal>repackage</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>

    2.在Terminal中执行命令:

    mvn clean package -Dmaven.test.skip=true

    解释:mvn clean 清除目标目录中的生成结果(target)  -Dmaven.test.skip=true:跳过测试类 

    第二部分:部署

    1.使用软件:WinSCP

    下载地址:https://winscp.net/eng/download.php

    2.操作

    a.命令:jps -ll 查看所有进程(查看你的项目是否在运行)    -l:输出完全的包名,应用主类名,jar的完全路径名

    b.命令 :kill - 9  进程  如果程序想杀死正在运行的程序,可以使用该命令。

    特别说明:

    kill和kill -9,两个命令在linux中都有杀死进程的效果,然而两命令的执行过程却大有不同。

    执行kill命令,系统会发送一个SIGTERM信号给对应的程序。当程序接收到该signal信号后,将会发生以下事情:

    程序立刻停止,当程序释放相应资源后再停止,程序可能仍然继续运行

    大部分程序接收到SIGTERM信号后,会先释放自己的资源,然后再停止。但是也有程序可能接收信号后,做一些其他的事情,SIGTERM多半是会被阻塞的。

    然而kill -9命令,系统给对应程序发送的信号是SIGKILL,即exit。exit信号不会被系统阻塞,所以kill -9能顺利杀掉进程。

    c.命令:mkdir /usr/local/springboot 创建目录,存放jar包

    d.命令:mv ~/springboot.jar ./   如果jar包不在该目录下,可以通过mv命令移至该目录。

    e.命令:chmod -R 777 ./xxx.jar     设置权限(建议不要随意设置) chmod能改变权限,-R是目录下所有文件,777就是高权限(读、写、执行)

    f.启动jar包的几种方式,在此介绍优缺点。

    方式一:命令:java -jar xxx.jar   

    解释:运行成功之后使用crtl+c可以退出项目运行,或者直接关闭连接窗口,项目也会停止运行; 缺点:当退出或关闭shell时,程序就会停止掉

    方式二:命令:nohup java -jar springboot-hmservice-0.0.1-SNAPSHOT.jar &     

     解释:nohup 是linux一个命令,nohup是保证后台启动,就是关闭窗口程序任然在运行默认将日志打印到nohup,&产生作业编号就是那个 [1] 19649,nohup要和&一起用才能保证关闭窗口程序任然在运行

    缺点:在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件

    方式三:命令:nohup java -jar springboot-hmservice-0.0.1-SNAPSHOT.jar >>/dev/null 2>&1 &(推荐)

    解释:/dev/null 代表空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。
    > 代表重定向到哪里
    1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"
    2 表示stderr标准错误
    & 表示等同于的意思,2>&1,表示2的输出重定向等同于1
    nohup ./mqnamesrv >/home/cxb/mqnamesrv.out 2>&1 & 
    即标准输出到mqnamesrv.out中,接着,标准错误输出重定向等同于标准输出,输出到同一文件中。

    g.命令:less -n log\myspringboot.log       tail -f log\myspringboot.log    查看日志

  • 相关阅读:
    cocos2d-x的初步学习七
    cocos2d-x的初步学习六
    cocos2d-x的初步学习五
    cocos2d-x的初步学习四
    net core or Linux
    XML序列化反序列化
    用NSoup解析HTML
    ubuntu 下的ftp安装及root身份远程配置
    Windows 10 子系统Linux重启(不重启Win10)
    C# HttpRequest 请求
  • 原文地址:https://www.cnblogs.com/kaile/p/10197084.html
Copyright © 2020-2023  润新知