优秀的编程知识分享平台

网站首页 > 技术文章 正文

linux java 项目 设置外部yml 设置jvm 并添加启动停止以及重启脚本

nanyue 2024-11-05 10:49:36 技术文章 2 ℃

linux安装 jdk1.8

jdk1.8 可私聊我发给你

1.在/usr/local 下 用mkdir 新建了一个文件夹 java然后把文件上传到java里面

2.命令 tar -zxvf jdk-8u221-linux-x64.tar.gz 解压

3.用 vim /etc/profile 命令 配置环境变量,按下 键盘上的 i 进入编辑模式

添加如下变量

注意jdk1.8.0_221为我解压后的jdk1.8文件夹名称

export JAVA_HOME=/usr/local/java/jdk1.8.0_221
export JRE_HOME=/usr/local/java/jdk1.8.0_221/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH

配置好以后使用命令
source /etc/profile
使配置生效

然后输入javac回车,
输入 java -version 显示jdk的版本

编写启动停止重启sh脚本 来控制程序启动停止

#!/bin/sh
source /etc/profile
PATH=/usr/local/bin:$PATH

#配置jar名称
APP_NAME=springboot.jar

#使用说明,用来提示输入参数
usage() {
echo "Please input [start|stop|restart|status]"
exit 1
}

#检查程序是否在运行
is_exist(){
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
#如果不存在返回1,存在返回0
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}

#启动方法
start(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is already running. pid=${pid} ."
else
nohup java -jar -Xms800m -Xmx800m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxNewSize=512m  -Dspring.profiles.active=application.yml  ${APP_NAME}   > ${APP_NAME}log.out 2>&1 &
echo "${APP_NAME} start success"
fi
}

#停止方法
stop(){
is_exist
if [ $? -eq "0" ]; then
kill -9 $pid
else
echo "${APP_NAME} is not running"
fi
}

#输出运行状态
status(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is running. Pid is ${pid}"
else
echo "${APP_NAME} is NOT running."
fi
}

#重启
restart(){
stop
start
}

#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac

注意

1,只需要更改APP_NAME= 里面的jar包地址就可以 如果在同一目录就直接是jar包名称

2,输出的日志为当前sh脚本启动目录的 jar包名称加上log.out

如程序为 springboot.jar 输出的日志为 springboot.jarlog.out

使用 tauk -100f springboot.jarlog.out 来查看最新的日志 排错或查看

3,配置文件application.yml 放到了jar包程序的同级目录 因为方便进行配置文件的修改重启 整体目录为 如图



1 为配置文件 如配置启动端口 数据库 redis 等 都在此配置
2 为启动脚本
3 为程序包
4 为程序日志

到此程序就在linux 上部署完成啦

最近发表
标签列表