springboot 部署命令记录

本文详细介绍了如何使用命令行部署SpringBoot应用,包括打包、启动、停止等步骤,并探讨了nohup命令和&符号的区别。通过nohup命令可以确保应用在后台持续运行,即使用户退出也不受影响。此外,还讲解了mvn clean package、install和deploy在Maven生命周期中的作用。

先打包

mvn clean package  -Dmaven.test.skip=true

 

1.启动

新建命令输出目录 nohup java -jar b2b-0.0.1-SNAPSHOT.jar > log.file 2>&1 &
追加命令输出目录 nohup java -jar b2b-0.0.1-SNAPSHOT.jar >> log.file 2>&1 &

需要用不同版本的jdk 可以补全java的bin路径 默认使用环境变量中配置的jdk

2.停止

ps -ef | grep b2b-0.0.1-SNAPSHOT.jar

 kill -9 pid

 

散点记录

nohup
nohup命令:如果你正在运行一个进程,而且要求在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在退出帐户/关闭终端之后继续运行相应的进程。

在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中。

 
nohup command > log.file 2>&1 &   

在上面的例子中,0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error) ;
2>&1是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到log.file文件中。
 
 
nohup和&的区别
& : 指在后台运行

nohup : nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响它的运行,注意了nohup没有后台运行的意思;&才是后台运行

&是指在后台运行,但当用户推出(挂起)的时候,命令自动也跟着退出

结合起来用就是
nohup COMMAND &
这样就能使命令永久的在后台执行


awk '{print $2}'
 $2:表示第二个字段
print $2 : 打印第二个字段
awk '{print $2}'  $fileName :   一行一行的读取指定的文件, 以空格作为分隔符,打印第二个字段
比如有这样一个文件
a1  b1  c1  d1
a2  b2  c2  d2
执行的结果是,输出
b1
b2

结合以上可以写一个脚本文件

 

maven相关

mvn clean package依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。
mvn clean install依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段。
mvn clean deploy依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段。
由上面的分析可知主要区别如下,

package命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库
deploy命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库

 

 

CentOS 上部署 Spring Boot 应用程序是一个常见的任务,以下是详细的步骤和注意事项: ### 步骤一:安装必要的环境 首先需要确保 CentOS 系统上已经准备好 Java 和其他依赖项。 1. **检查并安装 JDK** 运行 `java -version` 检查是否已安装 Java。如果没有,则通过以下命令安装 OpenJDK: ```bash sudo yum install java-17-openjdk-devel ``` 2. **设置 JAVA_HOME 环境变量**(如果必要的话) 编辑 `/etc/profile` 文件,添加类似下面的内容,并保存后运行 `source /etc/profile` 更新配置。 ```bash export JAVA_HOME=/usr/lib/jvm/java-17-openjdk export PATH=$JAVA_HOME/bin:$PATH ``` ### 步骤二:构建 Spring Boot 可执行 JAR 包 在本地开发环境中使用 Maven 或 Gradle 构建项目生成最终的可执行 JAR 文件。 ```bash mvn clean package # 如果用Maven # 或者 gradle build # 如果用Gradle ``` 完成后会得到目标文件如 `target/myapp.jar`。 ### 步骤三:传输到服务器 可以借助工具比如 SCP 把 jar 文件上传至远程 Linux 主机目录下。 ```bash scp target/myapp.jar user@your-server-ip:/path/to/deploy/ ``` ### 步骤四:启动应用程序 进入存放该 Jar 的路径并且直接运行它即可。 ```bash cd /path/to/deploy/ nohup java -jar myapp.jar > app.log 2>&1 & ``` 上述指令将把标准输出和错误日志都记录进名为“app.log”的文档里同时后台运行服务进程。 ### 其他选项 – 使用 systemd 来管理应用作为系统服务 为了更好地控制我们的 SpringBoot 应用生命周期, 创建一个新的 service unit 文件位于 `/etc/systemd/system/springboot.service`, 写入内容如下示例所示: ```ini [Unit] Description=Spring Boot Application Service [Service] ExecStart=/bin/java -jar /path/to/deploy/myapp.jar SuccessExitStatus=143 User=springuser Restart=on-failure WorkingDirectory=/path/to/deploy/ [Install] WantedBy=multi-user.target ``` 然后启用及开始此新创建的服务单元: ```bash sudo systemctl enable springboot sudo systemctl start springboot ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值