咱们使用 spring boot 的 maven 插件来构建管理整个应用程序,使用
mvn package
将应用程序打包成一个 jar 包
上传到服务器大体有两种方式(常见的):1)经过xftp
这种方式;2)本文将要介绍的这种,我不太建议使用 xftp,由于它太常见了,不新奇,
说说第二种方式吧:首先咱们在 linux 服务器上,下载lrzsz
插件,命令为:yum -y install lrzsz
,而后上传文件就输入命令:rz -y
,-y
表示强制覆盖原有文件(建议使用),rz
表示上传,固然了,sz
就表示下载喽。以后就会打开一个 windows 的文件资源管理器窗口,你选择目标 jar 包便可实现上传(前提,选择好你的上传目录)
上传到服务器的指定位置了,接下来就是如何运行了!
咱们都知道,java 程序在你本地运行时就是选择好入口 main,而后运行便可。可是在 linux 上就不是那么简单了。
大体呢有两种:一种是直接手动启动;一种是经过写一个脚本文件来启动。
直接启动:javajava -jar 目标.jar >> catalina.out 2>&1 &
,什么意思呢?就是将 tomcat(spring-boot-starter-web 自带 tomcat) 的启动内容 标准错误流重定向到标准输出流(2 >&1),而且以在后台运行的形式去运行(&)。
编写启动脚本linux
\#!/bin/bash PROJECTNAME=目标jar名称(不须要带.jar) pid=`ps -ef |grep $PROJECTNAME |grep -v "grep" |awk '{print $2}'` if [ $pid ]; then echo "$PROJECTNAME is running and pid=$pid" else echo "Start success to start $PROJECTNAME ...." nohup java -jar 目标.jar >> catalina.out 2>&1 & fi在该
.sh
(脚本文件)中,使用到了命令nohup java -jar ...
nohup 就是 no hangup(不挂起),即 即便用户登出,
关闭终端后,该进程还会继续运行;采用 nohup 命令后,那么就会在当前脚本所在的同级目录下生成一个nohup.out
的文件,
该文件就记录了整个应用启动过程以及以后运行中的全部日志内容(由于咱们是将2
标准错误 做为输出内容的,
而标准错误默认是包括全部的输出内容+错误内容)。以后你只须要运行这个脚本便可启动应用程序啦:./start.sh
,
若是你想查看一下日志内容,你能够输入:vi nohup.out
,或者你只想查看最后几行内容:tail -f nohup.out
便可。web
编写关闭脚本:
其实咱们通常是不须要关闭脚本的,由于咱们一般是这样操做的:进入到该应用程序所在的目录:ps aux | grep java
或ps -ef | grep java
两者并无什么太大的区别,看你喜欢用哪一个命令了,
而后找到该应用程序的pid
, 而后kill -g 该pid
就杀死这个进程了。可是其实这样很麻烦,
你习惯了还好,通常我仍是建议你使用 关闭脚本的spring\#!/bin/bash PROJECTNAME=目标 pid=`ps -ef |grep $PROJECTNAME |grep -v "grep" |awk '{print $2}' ` if [ $pid ]; then echo "$PROJECTNAME is running and pid=$pid" kill -9 $pid if [[ $? -eq 0 ]];then echo "sucess to stop $PROJECTNAME " else echo "fail to stop $PROJECTNAME " fi fi通常目录结构就是以下图所示:
windows
我实际中用的这个启动脚本内容以下:tomcat
ps:至于有人说的可能须要在 pom.xml 中指定 入口类,我持保留意见bash
- 2019-05-31 17:46
原创手敲不易,转载请注明出处,谢谢。我是
拉丁小毛,欢迎你们关注我哦,一块儿交流,共同进步。有问题能够
邮我哦(util.you.com@gmail.com)