重庆seo网站推广费用,wordpress影视主题带采集,WordPress弊端,涡阳网站建设本文章只介绍项目的简单部署#xff0c;暂时没有Docker部署。
项目部署有两种方式#xff0c;一种是直接命令部署#xff0c;第二种是用脚本#xff0c;脚本本身也是将命令进行封装来执行。
命令
项目通过maven打包#xff0c;启动命令#xff1a;
# 启动命令
nohup …本文章只介绍项目的简单部署暂时没有Docker部署。
项目部署有两种方式一种是直接命令部署第二种是用脚本脚本本身也是将命令进行封装来执行。
命令
项目通过maven打包启动命令
# 启动命令
nohup java -jar demo-0.0.1-SNAPSHOT.jar --spring.profiles.activedev log.out 21
关闭命令两种
第一种是直接查询出项目的进程ID再用kill;
第二种是在项目启动类中将进程ID写入固定文件中在用命令进行关掉进程
第一种如下
# 查询项目进行ID 在杀掉进程
ps -ef | grep demo-0.0.1-SNAPSHOT.jar
kill -9 pid
第二种
启动类
Slf4j
SpringBootApplication
public class DemoApplication {public static void main(String[] args) {SpringApplication application new SpringApplication(DemoApplication .class);// 进程ID写到固定文本里 application.addListeners(new ApplicationPidFileWriter(./shutdown/DemoApplication .pid));application.run();}}
在同项目部署的路径下运行下面的命令
# cat: 命令用于连接文件并打印到标准输出设备上。
# xargs: 捕获一个命令的输出然后传递给另外一个命令
cat shutdown/DemoApplication.pid |xargs kill
参考链接
xargs的使用 Linux xargs 命令 | 菜鸟教程
脚本
准备启动脚本 start.sh:
nohup java -jar demo-0.0.1-SNAPSHOT.jar --spring.profiles.activedev log.out 21
准备关闭脚本 shutdown.sh:
# Shell脚本if语法-- if/then/elif/else/fi
APP_NAMEdemo-0.0.1-SNAPSHOT
exps -ef | grep $APP_NAME | grep -v grep | awk {print $2} | wc -l
if [ $ex -gt 0 ]
thenps -ef | grep $APP_NAME | grep -v grep |awk {print $2}|xargs kill -9sleep 3echo $APP_NAME has stopped!
elseecho $APP_NAME is not running!
fi
将脚本和打包的项目放在同一个位置执行命令如下
# 启动项目
./start.sh
#关闭项目
./shutdown.sh
注如果第一次执行需要为脚本赋权执行下面命令
chmod x *.sh