当前位置: 首页 > news >正文

企业门户网站是什么意思肥城市住房和城乡建设厅网站

企业门户网站是什么意思,肥城市住房和城乡建设厅网站,影视公司和传媒公司的区别,企业微信怎么注册问题描述:公司项目太老了,还是tomcat项目,部署两台tomcat,做了nginx负载。最近发现每到上午10,下午3点,tomcat就宕机了,死活找不到原因,客户影响超期差,实在让人头疼。 解决思路&am…

问题描述:公司项目太老了,还是tomcat项目,部署两台tomcat,做了nginx负载。最近发现每到上午10,下午3点,tomcat就宕机了,死活找不到原因,客户影响超期差,实在让人头疼。

解决思路:写个脚本检测tomcat是否宕机,如果宕机就重启,每2分钟执行一次。(注意:为什么不是一分钟,因为我们系统太大,一分钟重启不了)。再写另外一个脚本,每秒执行一次,检测tomcat是否宕机,如果宕机就通过nginx切换到另外一台上,而不影响用户使用。

上代码哈哈哈~~~~

检测tomcat宕机自动重启脚本如下:
分别是monitorTomcat8082.sh和monitorTomcat8085.sh,由于两个代码类似,提供一个就能说明问题了

#!/bin/sh# 获取tomcat进程ID  /usr/local/tomcat
TomcatID=$(ps -ef |grep tomcat8082 |grep -w 'tomcat8082'|grep -v 'grep'|awk '{print $2}')  # tomcat启动程序(这里注意tomcat实际安装的路径)  StartTomcat=/usr/local/web/tomcat8082/bin/startup.sh
ShutdownTomcat=/usr/local/web/tomcat8082/bin/shutdown.sh# 定义要监控的页面地址  WebUrl=http://localhost:8082# 日志输出TomcatMonitorLog=/usr/local/web/tomcat8082/logs/TomcatMonitor.logMonitor(){  echo "[info]开始监控tomcat...[$(date +'%F %H:%M:%S')]"  if [ $TomcatID ];then # 这里判断TOMCAT进程是否存在  echo "[info]当前tomcat进程ID为:$TomcatID,继续检测页面..."  # 检测是否启动成功(成功的话页面会返回状态"200")  TomcatServiceCode=$(curl -I -m 10 -o /dev/null -s -w %{http_code} $WebUrl)  if [ $TomcatServiceCode -eq 200 ];then  echo "[info]页面返回码为$TomcatServiceCode,tomcat启动成功,测试页面正常......"  else  echo "[error]tomcat页面出错,请注意......状态码为$TomcatServiceCode,错误日志已输出到$GetPageInfo"  echo "[error]页面访问出错,开始重启tomcat"  $ShutdownTomcat  sleep 3  rm -rf /usr/local/web/tomcat8082/bin/CATALINA_PID$StartTomcat  fi  else  echo "[error]tomcat进程不存在!tomcat开始自动重启..."  echo "[info]$StartTomcat,请稍候......"  #rm -rf $TomcatCache  $StartTomcat  fi  echo "------------------------------"  }  Monitor>>$TomcatMonitorLog

以上代码以上是 获取tomcat的进程号,如果不存在就代表没启动,启动。如果存在,就访问页面试试,如果没响应代表宕机了,就重新启动。

检测tomcat宕机切换到备用tomcat脚本如下:

分别是monitorNginx8082.sh和monitorNginx8085.sh,由于两个代码类似,提供一个就能说明问题了

#!/bin/bashNginxID=$(cat /usr/local/nginx/conf/nginx.conf |  grep  'liuchongyang8082'| awk '{print $2}')# 定义要监控的页面地址  WebUrl=http://localhost:8082# 日志输出NginxMonitorLog=/usr/local/nginx/logs/NginxMonitorLog8082.logMonitor(){  echo "[info]开始监控tomcat8082...[$(date +'%F %H:%M:%S')]" # 检测是否启动成功(成功的话页面会返回状态"200")  TomcatServiceCode=$(curl -I -m 10 -o /dev/null -s -w %{http_code} $WebUrl)  if [ $TomcatServiceCode -eq 200 ];then  echo "[info]页面返回码为$TomcatServiceCode,tomcat8082启动成功,测试页面正常......"  else  if [ $NginxID = 'liuchongyang8085' ];thenecho "[error] 当前nginx配置文件已经是8085,无需切换!"elseecho "[error]tomcat8082页面出错,请注意......状态码为$TomcatServiceCode,错误日志已输出到$GetPageInfo"  echo "[error]页面访问出错,开始切换备用程序 8085" cp /usr/local/nginx/conf/nginx8085.conf /usr/local/nginx/conf/nginx.conf/usr/local/nginx/sbin/nginx -s reloadfifi  echo "------------------------------"  }  step=1 #间隔的秒数,不能大于60  
for (( i = 0; i < 60; i=(i+step) )); do  Monitor>>$NginxMonitorLogsleep $step  
done  
exit 0

以上代码以上是 访问页面试试,如果没响应代表宕机了,就切换到备用tomcat 。

至于 定时任务我使用的是centos自带的crontab服务。
第一个脚本每2分钟执行一次,第二个脚本每秒执行一次。
crontab只能每分钟执行一次,我是通过第二个脚本中用for循环和sleep做到的。

类似:

*/2 * * * *  sh  /usr/local/web/monitorTomcat8082.sh
*/2 * * * *  sh  /usr/local/web/monitorTomcat8085.sh*/1 * * * *   bash  /usr/local/web/monitorNginx8082.sh
*/1 * * * *   bash  /usr/local/web/monitorNginx8085.sh

在Tomcat宕机了,monitorTomcat.sh脚本去调用bin/startup.sh 命令的时候,出现以下的错误

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

At least one of these environment variable is needed to run this
program

解决办法 : 在tomcat、bin目录下的 setclasspath.sh 文件头部加上以下两个参数(目的就是指定其JDK环境)

export JAVA_HOME=/home/boss_indb/software/jdk1.8.0_152

export JRE_HOME=${JAVA_HOME}/jre

http://www.yayakq.cn/news/701443/

相关文章:

  • 做装机u盘那个网站好wordpress 慢途网
  • 河南县wap网站建设公司怎么做网页才能
  • 广州做公司网站刷粉网站推广马上刷
  • 网站建设岗位叫什么公司简介如何写
  • 张家口建站优化徐州润金城开发公司
  • 聊城网站设计咨询佛山网站建设佛山网络推广
  • 南京专业网站设计公司网站备案查询不到说明啥
  • 广州贸易网站茶叶企业网站源码
  • 网站优化报表wordpress flash主题
  • 一个公司可以做多少个网站wordpress相关推荐插件
  • 天津网站建设电焊机做代刷网站赚钱不
  • 余志国外贸网站建设网站备案 拍照
  • 长沙企业网站开发网站全局搜索
  • 四川高速公路建设开发集团有限公司网站百度收录网站入口
  • iframe框架做网站网站建设晋丰
  • wordpress制作小说网站模板百度竞价收费标准
  • 东莞做创意网站网站建设淘宝属于什么类目
  • 邯郸做网站推广的公司开公司怎么做网站
  • wordpress get_usermeta东莞网站优化一般多少钱
  • 免费网站代码大全网站策划师
  • 图床网站怎么做中国建设银行国际互联网网站
  • 番禺网站建设设计自做业务网站
  • 做任务赚q币的网站美图网
  • 浙江做网站平台的科技公司百度seo排名如何提升
  • html做简单网站实例seo服务器多ip
  • 关于网站建设的论文题目如何宣传推广自己品牌
  • 网站登录页面空白宁波网站建设公司地址
  • wordpress网站做h5分类秦皇岛 网站建设
  • 山东淄博微信网站制作深圳 购物网站
  • 公司做网站网站开发技术期中试题