分布式项目中 linux 服务器 部署jar 应用脚本 deploy.sh
在实际项目的部署中,尤其是分布式项目,有很多服务的jar包需要 部署,这里抽取出公用的 deploy的脚本
下面是不含jdk配置的
#!/bin/bash
JAVA_OPTIONS_INITIAL=-Xms128M
JAVA_OPTIONS_MAX=-Xmx512M APP_NAME=aps-sdk-merchant-manager PID=$(ps aux | grep ${APP_NAME} | grep -v grep | awk '{print $2}' )
ALARM_CONFIG_FILE=`pwd`/alarmConfig.yaml function check_if_process_is_running {
if [ "$PID" = "" ]; then
return
fi
ps -p $PID | grep "java"
return $?
} case "$1" in
status)
if check_if_process_is_running
then
echo -e "\033[32m $APP_NAME is running \033[0m"
else
echo -e "\033[32m $APP_NAME not running \033[0m"
fi
;;
stop)
if ! check_if_process_is_running
then
echo -e "\033[32m $APP_NAME already stopped \033[0m"
exit
fi
kill - $PID
echo -e "\033[32m Waiting for process to stop \033[0m"
NOT_KILLED=
for i in {..}; do
if check_if_process_is_running
then
echo -ne "\033[32m . \033[0m"
sleep
else
NOT_KILLED=
fi
done
echo
if [ $NOT_KILLED = ]
then
echo -e "\033[32m Cannot kill process \033[0m"
exit
fi
echo -e "\033[32m $APP_NAME already stopped \033[0m"
;;
start)
if [ "$PID" != "" ] && check_if_process_is_running
then
echo -e "\033[32m $APP_NAME already running \033[0m"
exit
fi
nohup java -jar $JAVA_OPTIONS_INITIAL $JAVA_OPTIONS_MAX $APP_NAME.jar &
echo -ne "\033[32m Starting \033[0m"
for i in {..}; do
echo -ne "\033[32m.\033[0m"
sleep
done
if check_if_process_is_running
then
echo -e "\033[32m $APP_NAME fail \033[0m"
else
echo -e "\033[32m $APP_NAME started \033[0m"
fi
;;
restart)
$ stop
if [ $? = ]
then
exit
fi
$ start
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit
esac exit
下面是含jdk配置的
#! /bin/bash ## java env
export JAVA_HOME=/usr/local/java/jdk1..0_79
export JRE_HOME=$JAVA_HOME/jre JAVA_OPTIONS_INITIAL=-Xms128M
JAVA_OPTIONS_MAX=-Xmx512M APP_NAME=aps-sdk-merchant-manager PID=$(ps aux | grep ${APP_NAME} | grep -v grep | awk '{print $2}' ) function check_if_process_is_running {
if [ "$PID" = "" ]; then
return
fi
ps -p $PID | grep "java"
return $?
} case "$1" in
status)
if check_if_process_is_running
then
echo -e "\033[32m $APP_NAME is running \033[0m"
else
echo -e "\033[32m $APP_NAME not running \033[0m"
fi
;;
stop)
if ! check_if_process_is_running
then
echo -e "\033[32m $APP_NAME already stopped \033[0m"
exit
fi
kill - $PID
echo -e "\033[32m Waiting for process to stop \033[0m"
NOT_KILLED=
for i in {..}; do
if check_if_process_is_running
then
echo -ne "\033[32m . \033[0m"
sleep
else
NOT_KILLED=
fi
done
echo
if [ $NOT_KILLED = ]
then
echo -e "\033[32m Cannot kill process \033[0m"
exit
fi
echo -e "\033[32m $APP_NAME already stopped \033[0m"
;;
start)
if [ "$PID" != "" ] && check_if_process_is_running
then
echo -e "\033[32m $APP_NAME already running \033[0m"
exit
fi
nohup $JRE_HOME/bin/java -jar $JAVA_OPTIONS_INITIAL $JAVA_OPTIONS_MAX $APP_NAME.jar &
echo -ne "\033[32m Starting \033[0m"
for i in {..}; do
echo -ne "\033[32m.\033[0m"
sleep
done
if check_if_process_is_running
then
echo -e "\033[32m $APP_NAME fail \033[0m"
else
echo -e "\033[32m $APP_NAME started \033[0m"
fi
;;
restart)
$ stop
if [ $? = ]
then
exit
fi
$ start
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit
esac exit
分布式项目中 linux 服务器 部署jar 应用脚本 deploy.sh的更多相关文章
- linux服务器部署jar包以及shell脚本的书写
背景:记录在linux环境下部署jar程序的过程 1 部署过程记录 1.1 程序结构 这里的main函数就在DemRest2.java 文件中. 为了部署方便,要做到以下两点: 1 在导出的jar包中 ...
- 部署web前端的react项目到linux服务器
部署web前端的react项目到linux服务器 项目的目录结构 ``` ├─dlls #dlls编译后的问题 ├─doc #帮助文件入口 │ ├─src │ ├─apps #各个功能模块放在这里 │ ...
- linux服务器部署tomcat和Nginx
项目需要,申请了三台测试机器,好在测试机里面光秃秃的什么都没有,我就可以好好的学习一把玩一把了!接下来以图文的形式讲一下我所碰到的坑以及小小的收获吧! 一.准备工作 首先你得有一台可以玩的linux服 ...
- Linux服务器部署系列之八—Sendmail篇
Sendmail是目前Linux系统下面用得最广的邮件系统之一,虽然它存在一些不足,不过,目前还是有不少公司在使用它.对它的学习,也能让我们更深的了解邮件系统的运作.下面我们就来看看sendmail邮 ...
- Linux服务器部署系列之七—OpenLDAP篇
LDAP(轻量级目录访问服务),通过配置这个服务,我们也可以在linux下面使用目录的形式管理用户,就像windows下面的AD一样,方便我们管理.下面我们就一起来配置openldap服务.本文运行环 ...
- Linux服务器部署系列之一—Apache篇(下)
接上篇 linux服务器部署系列之一—Apache篇(上) 四.管理日志文件 Apache日志分为访问日志和错误日志两种: 1)访问日志 用于记录客户端的访问信息,文件名默认为access_lo ...
- Linux服务器部署系列之二—MySQL篇
MySQL是linux环境中使用最广泛的数据库之一,著名的“LAMP黄金组合”就要用到MySQL.关于MySQL的优点及作用,我就不多讲了,网上很多这样的文章. 今天我们要谈的是MySQL服务器的部署 ...
- eclipse java项目中明明引入了jar包 为什么项目启动的时候不能找到jar包 项目中已经 引入了 com.branchitech.app 包 ,但时tomcat启动的时候还是报错? java.lang.ClassNotFoundException: com.branchitech.app.startup.AppStartupContextListener java.lang.ClassN
eclipse java项目中明明引入了jar包 为什么项目启动的时候不能找到jar包 项目中已经 引入了 com.branchitech.app 包 ,但时tomcat启动的时候还是报错?java. ...
- 如何在linux服务器部署Rstudio server,配置ODBC远程访问win 服务器上的SQL server
如何在linux服务器部署Rstudio server,配置ODBC后通过RODBC包远程访问SQL server 背景介绍:之前写过一篇文章,提到近期要部署Rstudio server(搭建数据分析 ...
随机推荐
- C#:将数据网格内的数据导出到Excel
public void ExportDataToExecel(DataGridView dataGridView1) { SaveFileDialog kk = new SaveFileDialog( ...
- JSON对象和JSON字符串以及JSON.parse 函数的使用
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- PHP部分常见算法
撰于:http://blog.csdn.net/caleng/article/details/5276403
- java开发常用到的jar包总结
commons-io.jar: FileUtils 读取文件所有行 File file = new File("c:\\123.txt"); List<String> ...
- 3-06. 表达式转换(25)(中缀表达式转后缀表达式ZJU_PAT)
题目链接:http://pat.zju.edu.cn/contests/ds/3-06 算术表达式有前缀表示法.中缀表示法和后缀表示法等形式. 日常使用的算术表达式是採用中缀表示法,即二元运算符位于两 ...
- Message: 'geckodriver' executable needs to be in PATH. 解决方法
问题描述: 执行如下代码 # coding=utf-8 from selenium import webdriver driver = webdriver.Firefox() driver.maxim ...
- Spring学习10-SpringMVC原理及核心组件1
一.SpringMVC原理 请求到来时,第一个接受这个请求的前端控制器叫DispatcherServlet(这个需要在web.xml中配置), 后端控制器叫Controller.负责处理请求U ...
- 每日英语:Do Bicycle Helmet Laws Really Make Riders Safer?
Typically in transportation — and most social arenas, for that matter — laws promoting safety precau ...
- 【C语言】21-结构体
C语言的核心部分都说得七七八八了,相信大家已经对C语言的基本数据类型(char\int\float).数组.指针都很熟悉了,今天来学习C语言中另外一种数据类型:结构体.在iOS开发中,结构体是经常用到 ...
- js 去html 标签
var stylereg = /style\=".+?"/g //去style样式 var alltagreg = /<[^>]*>/g //去除全部标签 var ...