Linux部署启动服务脚本
文章目录
- 若依脚本
- JVM 参数 JVM_OPTS 解释
- 启动脚本
- 关闭脚本
- 重启脚本
来源于开源项目……
若依脚本
#!/bin/bashAppName=health-8180.jar#JVM参数
JVM_OPTS="-Dname=$AppName -Duser.timezone=Asia/Shanghai -Xms512M -Xmx512M -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=512M -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"
#JVM_OPTS="-Dname=$AppName -Duser.timezone=Asia/Shanghai -Xms512M -Xmx512M -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=512M -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC -Djava.rmi.server.hostname=47.92.84.122 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=3214 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"APP_HOME=`pwd`
LOG_PATH=$APP_HOME/logs/$AppName.logif [ "$1" = "" ];
thenecho -e "\033[0;31m 未输入操作名 \033[0m \033[0;34m {start|stop|restart|status} \033[0m"exit 1
fiif [ "$AppName" = "" ];
thenecho -e "\033[0;31m 未输入应用名 \033[0m"exit 1
fifunction start()
{PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`if [ x"$PID" != x"" ]; thenecho "$AppName is running..."elsenohup java -jar $JVM_OPTS $AppName > /data/health-8180.log 2>&1 &echo "Start $AppName success..."fi
}function stop()
{echo "Stop $AppName"PID=""query(){PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`}queryif [ x"$PID" != x"" ]; thenkill -TERM $PIDecho "$AppName (pid:$PID) exiting..."while [ x"$PID" != x"" ]dosleep 1querydoneecho "$AppName exited."elseecho "$AppName already stopped."fi
}function restart()
{stopsleep 2start
}function status()
{PID=`ps -ef |grep java|grep $AppName|grep -v grep|wc -l`if [ $PID != 0 ];thenecho "$AppName is running..."elseecho "$AppName is not running..."fi
}case $1 instart)start;;stop)stop;;restart)restart;;status)status;;*)esac
JVM 参数 JVM_OPTS 解释
JVM_OPTS="
-Dname=$AppName
-Duser.timezone=Asia/Shanghai
-Xms512M # 初始堆大小。
-Xmx512M # 最大堆大小。下面配置中 -XX:NewRatio=1,即年轻代:老年代=1:1,# 堆=年轻代+老年代,则年轻代=老年代=256M。# 而且-XX:SurvivorRatio=30,即年轻代中,2*survivor:eden=2:30,# 那么survivor=8M,eden=240M
-XX:MetaspaceSize=256M # 元空间初始值
-XX:MaxMetaspaceSize=512M # 元空间最大值
-XX:+HeapDumpOnOutOfMemoryError # 表示当JVM发生OOM(内存溢出)时,自动生成DUMP文件。
-XX:+PrintGCDateStamps # 日志中打印GC时间
-XX:+PrintGCDetails # 打印GC详细日志
-XX:NewRatio=1 # 年轻代(eden+2*survivor):老年代=1:1,即年轻代/堆=1/2
-XX:SurvivorRatio=30 # 幸存区(2*survivor):生成区(eden)=2:30,即一个survivor/年轻代=1/16
-XX:+UseParallelGC # 选择垃圾回收器为并行收集器,仅对年轻代有效。可以同时并行多个垃圾收集线程,但此时用户线程需停止
-XX:+UseParallelOldGC # 使用并行收集器+老年代并行
# 开启JConsole监控
-Djava.rmi.server.hostname=47.92.84.122
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=3214
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-jar
# 开启远程调试
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
启动脚本
#!/bin/bash
java -jar /jenkins/jenkins.war --httpPort=8081 >> /jenkins/logs/jenkins.log 2>&1 &#!/bin/bash
nohup java -Xms2g -Xmx2g -XX:+HeapDumpOnOutOfMemoryError \
-XX:HeapDumpPath=/tmp/voice_server_common/seaway-faas-web.hprof \
-Dloader.path=/usr/local/soft/voice_server_common/lib \
-jar /usr/local/soft/voice_server_common/seaway-faas-web.jar \> /usr/local/soft/voice_server_common/arthas-output/web.out 2>&1 &
关闭脚本
#!/bin/bash
project="jenkins"
pid=`ps -ef|grep $project|grep -v grep|awk '{printf $2}'`
if test "$pid"then echo "killing progress...... pid= " $pidkill -9 $pidecho "killing project conpleted!"elseecho "this project has not been run."
fi
重启脚本
#!/bin/bash
# shutdown project first
project="jenkins"
pid=`ps -ef | grep $project | grep -v grep | awk '{printf $2}'`
echo "begin to stop project......"
if test "$pid"then echo "this project's pid= " $pidkill -9 $pidecho "stop project completed!"elseecho "the project has not bean started!"
fi
# then startup project
echo "begin to restart project......"
sh /jenkins/runJenkins.sh
newpid=`ps -ef|grep $project|grep -v grep|awk '{printf $2}'`
if test "$pid"then echo "restart success!"else echo "restart failure!"
fi
Linux部署启动服务脚本相关推荐
- CentOS 7添加开机启动服务/脚本
CentOS 7添加开机启动服务/脚本 一.添加开机自启服务 在CentOS 7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例): systemctl enable jenkins. ...
- linux开机启动服务详解
http://blog.163.com/sjt_linux/blog/static/19931031920126295452884/ linux开机启动服务详解(转) 2012-07-29 17:45 ...
- Linux部署SFTP服务
Linux - 建设篇 第二章 Linux部署SFTP服务 Linux - 建设篇 系列文章回顾 下章内容 Linux虚拟机安装SSH服务 创建ftp所属组的用户,设置密码,创建用户家目录 修改ssh ...
- Elasticsearch官档翻译——2 2 在Linux上启动服务
#在Linux上启动服务 为了在Linux上启动ES服务,官方提供的包尽可能让你在升级或重启集群的时候轻松地启停集群. 目前我们有构建debian和rpm两种安装包,都可以在下载页获取.包本身没有依赖 ...
- Linux部署kms服务
Linux - 建设篇 第三章 Linux部署kms服务 Linux - 建设篇 系列文章回顾 Linux部署kms服务 使用slmgr.vbs激活Win系统 加域PC自动激活kms 参考来源 系列文 ...
- 几分钟快速学会Linux开机启动服务
背景 最近在银行遇到一个部署问题,uat.prod 两个环境的ECS中的服务要求制作好基础镜像,上环境的时候只需要在对应的ECS中选择更换系统即可,不允许传统连接SSH上去安装,这就要求我们就得提前把 ...
- linux定时启动服务
linux中通过定时任务,定时执行shell脚本启动jar服务 1. linux定时器选择 linux常见有两种定时器 : 一种是crontab ,一种是at 命令, 因为我用的是crontab, 所 ...
- mysql+linux+无法启动服务无法启动不了_Linux实例中MySQL服务常见的无法启动或启动异常处理...
概述 本文介绍了在Linux实例中,MySQL常见的无法启动或启动异常处理方法. 详细描述 常见问题处理描述,目录如下. 提示:MySQL错误日志通常记录在/alidata/log/mysql/err ...
- centos中startup.sh启动服务脚本
startup.sh (示例) #!/bin/bash #定义一些用户变量 APP_HOME=/opt/apiWeb #程序主目录 APP_NAME=apiWeb.war #程序(脚本目录) LOG_ ...
- Linux常用启动服务命令
一.Nginx 1.启动 [root@172 udm-web]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf2.重新 ...
最新文章
- Map m=new HashMap()
- python----1
- 谈谈java的BlockingQueue
- C#连接EXCEL数据库
- 万能makefile深入浅出 - 第二篇
- jQuery实现数据映入form表单
- 阿里P8架构师谈:Docker简介、组成架构、使用步骤、以及生态产品
- LeetCode 516 最长回文子串
- csv文件的使用,csv空白行问题
- 直流电机驱动电路整理笔记
- 微型计算机与接口技术总结,微机原理与接口技术课程总结
- 最短路径BFS算法matlab,数据结构笔记——最短路径BFS算法
- INSERT INTO SELECT FROM 的用法
- You need to prove you’re evil cheap nike air max
- 【Pytorch】torch. bmm()
- 食品巨头布勒宣布部署区块链以对抗沙门氏菌和大肠杆菌
- xunsearch与mysql区别_利用 Xunsearch 搭建搜索引擎、内容搜索实战
- Linux Zram配置使用(特定平台个人使用,maybe不具普适性)
- 百度php主动推送每天,百度主动推送(实时)制作 简单3步轻松完成
- C++课程设计——健身俱乐部管理