java独立程序部署shell脚本
2017-05-05 15:36
387 查看
一、介绍
实际项目中为了将java程序部署到服务器上,服务器的环境和开发者在自己的电脑上运行程序是不一样的,开发期间程序的运行一般依赖于IDE上面集成好的环境,只要在软件上面直接运行main方法一般即可验证,然而Linux服务上面一般除了我们安装的jdk就没有别的环境,在不考虑有各种集成好的发布独立程序的平台的情况下,一般需要我们自己编写运行脚本等各种运维脚本了二、服务器环境搭建
1、安装jdk、搭建java运行环境,配置JAVA_HOEM到环境变量中
2、规范部署程序目录结构
├── project │ ├── bin 运维脚本存放目录 │ ├── config 配置文件存放目录 │ ├── lib jar包存放目录 │ └── logs 运行日志存放目录
3、将代码排除依赖包和配置文件打包存放进相应目录
可使用各种ant maven甚至直接使用ide进行编译打包,注意排除依赖的jar以及相应配置文件,以便于在服务器根据需求进行配置- 依赖包以及编译打包好的程序存放lib目录
- 配置文件存放于config目录
三、运维脚本
start.sh
#!/bin/bash ############################################################# # # start.sh create by bingchenglin@qq.com # ############################################################# ############################################################# # # base_dir -配置程序目录 # base_dir="/soft/project" # ############################################################# base_dir="/home/bingchenglin/project" ############################################################# # # java_home -配置使用的JAVA_HOME地址 # java_home=${JAVA_HOME} # ############################################################# java_home=${JAVA_HOME} if [ -z "${java_home}" ] then echo "JAVA_HOME is empty!" exit 0 fi for i in `find ${base_dir}/lib -name "*.jar"` do CP=$CP:$i done if [ -z "${CLASSPATH}" ] then CLASSPATH = .:${JAVA_HOME}/lib:$JAVA_HOME/jre/lib fi CLASSPATH=${CLASSPATH}:${CP}:${base_dir}/config export CLASSPATH echo "\n" echo "CLASSPATH=${CLASSPATH}" #启动程序 echo "nohup ${java_home}/bin/java -Dfile.encoding=UTF-8 com.modelsystem.Main >> ${base_dir}/logs/console.log 2>&1 &" nohup ${java_home}/bin/java -Dfile.encoding=UTF-8 com.modelsystem.Main >> ${base_dir}/logs/console.log 2>&1 & echo "\n" echo "启动完成,请查看日志"
stop.sh
#!/bin/bash ############################################################# # # stop.sh create by bingchenglin@qq.com # ############################################################# ############################################################# # # PROCESS_NAME -Main程序类名 # PROCESS_PARM -Main参数 # USER -进程所有者用户名 # ############################################################# PROCESS_NAME="com.modelsystem.Main" PROCESS_PARM="" USER="bingchenglin" ps -ef|grep ${PROCESS_NAME} |grep ${PROCESS_PARM} |grep ${USER} | grep java | grep -v grep | awk '{print $2}' |while read pid do kill ${pid} 2>&1 >/dev/null echo "进程名称:${PROCESS_NAME},参数:${PROCESS_PARM},PID:${pid} 成功停止" done
可以根据其他需求添加各种监控和清除日志的脚本
相关文章推荐
- Java后台执行Shell脚本, Java方法不用等待Shell程序执行完成并保证关掉Java程序Shell脚本正常运行
- linux服务器上通过shell脚本发布java程序实例详解
- 部署java程序脚本
- Linux下Java程序的启动shell脚本
- Java程序运行、停止Shell脚本
- jprofiler 监控java程序的shell脚本
- shell脚本调用java程序
- 简介Java程序的Shell脚本包装
- Java程序SSH远程执行Shell脚本
- Linux下Java程序的启动shell脚本
- 一个用shell写的执行java程序的脚本
- java执行shell命令或者脚本,返回结果到程序
- Java后台执行Shell脚本, Java方法不用等待Shell程序执行完成并保证关掉Java程序Shell脚本正常运行
- Linux下编译和部署JavaWeb程序脚本
- Linux下编译和部署JavaWeb程序脚本
- linux下运行java程序的shell脚本
- Shell 脚本启动java程序
- 使用bat命令或shell脚本调用java程序
- linux下shell脚本启动java程序jar包
- Shell脚本实现超简洁的在Linux服务器上安装nginx、resin、java、tomcat、redis等程序