本文章只介绍项目的简单部署,暂时没有Docker部署。
项目部署有两种方式,一种是直接命令部署,第二种是用脚本,脚本本身也是将命令进行封装来执行。
命令
项目通过maven打包,启动命令:
# 启动命令
nohup java -jar demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev >log.out 2>&1&
关闭命令两种:
第一种是直接查询出项目的进程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.active=dev >log.out 2>&1&
准备关闭脚本 shutdown.sh:
# Shell脚本if语法-- if/then/elif/else/fi
APP_NAME=demo-0.0.1-SNAPSHOT
ex=`ps -ef | grep $APP_NAME | grep -v 'grep' | awk '{print $2}' | wc -l`
if [ $ex -gt 0 ]
then
ps -ef | grep $APP_NAME | grep -v 'grep' |awk '{print $2}'|xargs kill -9
sleep 3
echo $APP_NAME "has stopped!"
else
echo $APP_NAME "is not running!"
fi
将脚本和打包的项目放在同一个位置,执行命令如下:文章来源:https://www.toymoban.com/news/detail-833223.html
# 启动项目
./start.sh
#关闭项目
./shutdown.sh
注:如果第一次执行需要为脚本赋权,执行下面命令文章来源地址https://www.toymoban.com/news/detail-833223.html
chmod +x *.sh
到了这里,关于项目在linux上的简单部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!