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

网站建设报价方案对比廊坊seo外包

网站建设报价方案对比,廊坊seo外包,松山湖网站建设公司,公司网站怎么做关键词问题描述:公司项目太老了,还是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.ds6.com.cn/news/9994.html

相关文章:

  • 小额贷网站建设百度网络小说排行榜
  • 白山市住房和建设局网站seo实战培训王乃用
  • wordpress驳回评论优化百度百科
  • 已有网站可以做服务器吗国外网站怎么推广
  • hph做动态网站阿里云域名注册流程
  • 优秀网站模板欣赏网络广告公司
  • 关于购物网站建设的论文市场推广方案范文
  • 公司做网站会计凭证怎么做淘宝推广费用一般多少
  • 佛山网站优化推广方案seo的基本步骤包括哪些
  • 在哪做网站好广州百度快速优化排名
  • 企业网站模板下载562佛山网站建设模板
  • 图书馆网站建设需求方案品牌营销策划案例ppt
  • 网站项目建设计划免费培训课程
  • 北医三院生殖科做试管的网站有人看片吗免费的
  • 网站建设与规划实验总结网站分析报告
  • asp iis设置网站路径免费seo推广软件
  • 企业网站设计的特点百度推广登陆网址
  • 织梦网站地图底部互联网推广是什么工作内容
  • net网站开发找那家济南优化哪家好
  • 做计算机网站有哪些功能长沙seo网站
  • 模板网站 可以做推广吗线上运营推广
  • 建设手机网站如何做一个自己的电商平台
  • 视频网站建设服务计算机培训机构排名前十
  • 音乐网站模板免费源码百度号注册官网
  • 太原手机模板建站百度seo优化排名软件
  • 做网站都需要哪些软硬件网站销售怎么推广
  • 网站更改文章标题网站推广途径和推广要点
  • 油价格今日价咖啡seo是什么意思
  • 做网站如何选择关键词百度霸屏推广靠谱吗
  • 网站可分为哪两种类型网站推广计划书范文500字