Jexus进程守护工具jws.guard
一个运行中的进程,难免会因为各种各样的原因无缘无故的宕掉(比如网站瞬间的负载过高、内存不足等),而Jexus宕掉的后果往往只有一个:对外提供服务的网站无法访问了。因此,我们需要最大限度的保障我们的网站能够提供7*24小时的不间断访问,而一个网站或者一个进程宕掉的过程是瞬间的,也许前一秒还访问得好好的,下一秒就突然间报个404的错误,而从网站或进程挂掉到我们人工的发现并重启服务的过程是漫长的,除非该网站有应对单点故障的解决方案,否则在这漫长的时间之中,网站都处于一个无法访问的黑色时期。如果这个宕掉的网站是一个企业网站,这会造成企业信誉度的下降;如果是一个商城网站,这会造成经济和人气的损失;因此,我们需要让系统能够自动的检测出网站的运行状态,当出现进程服务死机的时候能够自动重启。
jws.guard的是一个python的脚本,工作原理也比较简单:根据设置好的预设值,每隔十秒钟访问一次访问一次指定的端口与文件,当三十秒内出现无法网站时就执行jws.restart进行重启网站。这里的三十秒指的是累计连续三次无法访问,防止因为检测时因为Jexus正忙而误判断重启,对网站进行误伤。
jws.guard的使用方法也比较简单,只要把 “tools/jws_guard” 目录中的 “guard.py” 和 “jws.guard” 两个脚本文件拷贝到Jexus的工作目录(跟jws.start同一目录),然后配置一下jws.guard 中的预设值即可。
我们首先把这两个文件拷贝出去
cd /usr/local/jexus/tools/jws_guard/
cp jws.guard guard.py /usr/local/jexus/
cd /usr/local/jexus/
我们已经把这两个脚本拷贝到工作目录中。

用vi打开并编辑jws.guard

把host、port、path改为我们需要的配置即可,它们分别代表主机地址,端口,检查的路径。一般情况下,如果Jexus采用80端口,这里可以不作修改直接使用,而如果Jexus采用的不是80端口,也只需要修改port,改为正确的端口并保存退出就可以了。host和path一般是不需要修改的,同时也不建议非必要的修改,因为修改jws.guard必须确保修改后修改的配置项是正确的,否则jws.guard就会因为无法访问配置后的网站而反复的重启Jexus,造成不必要的麻烦。
修改好了之后只需要执行./jws.guard即可启动这款Jexus的进程守护工具。
我们尝试性的把Jexus关掉。

……30秒之后……

Jexus又起来了。
通过jws.guard守护守护工具,我们可以很方便的让系统自动的发现Jexus进程宕机并快速的重启进程。同时我们只需要查阅Jexus的运行日志即可发现问题所在。
这里有三点需要提醒的:
(1)、如果需要关闭Jexus服务30秒以上的,请在关闭Jexus之前先执行./jws.guard stopg关闭jws.guard守护工具,以免守护工具自动的把Jexus又启动了起来。
(2)、jws.guard是使用python语言编写的脚本,需要运行该工具时请确保系统中已经安装了python,检查方式可以执行 python -V ,如果没有出现python的版本信息则说明系统中没有安装python,这是,各位读者可以通过yum或者其他方式安装上python之后再运行jws.guard。
(3)、再啰嗦一次,配置jws.guard时请确保配置的值是正确的。
新版的Jexus的稳定性已经非常强,加上jws.guard可以起到加固作用。
好的,至此Jexus的守护工具jws.guard就已经介绍完毕了。
Jexus进程守护工具jws.guard的更多相关文章
- 开发日记:Windows进程守护工具
近期,中心应用服务无故关闭.在检查系统和应用程序日志无果后采取了进程守护的方法.测试期内,脚本未出现系统资源占用过多的情况. 使用说明:1.进程守护.vbs 使用时需修改运行周期(10行).守护进程 ...
- Supervisor进程守护工具的使用
Supervisor是一个 Python 开发的 client/server 系统,可以管理和监控类 UNIX 操作系统上面的进程. 官网:http://supervisord.org/ G ...
- python开发 *进程数据隔离.守护进程,进程同步工具 * 180725
进程数据隔离.守护进程,进程同步工具 一.进程之间的数据隔离: from multiprocessing import Process n=100 #主程序中变量n= def func(): glob ...
- Python 进程管理工具 Supervisor 使用教程
Supervisor 是基于 Python 的进程管理工具,只能运行在 Unix-Like 的系统上,也就是无法运行在 Windows 上.Supervisor 官方版目前只能运行在 Python 2 ...
- Supervisor安装与配置(Linux/Unix进程管理工具)
原文链接:http://blog.csdn.net/xyang81/article/details/51555473 Supervisor(http://supervisord.org/)是用Pyth ...
- Supervisor(Linux/Unix进程管理工具)安装与配置
参考链接:https://blog.csdn.net/xyang81/article/details/51555473 Supervisor(http://supervisord.org/)是用Pyt ...
- Supervisor 进程管理工具
简介: Supervisor 进程管理工具 一.安装 shell > yum -y install python-pip shell > pip install supervisor # ...
- supervisor - Python进程管理工具(转)
add by zhj: 下面是在ubuntu上的一些使用经验 1. 简介 supervisor有两个组件:supervisord和supervisorctl,组成了client/server结构. s ...
- Supervisor-类unix系统下的进程控制工具
如果你的英文足够好,请看官网的文档:http://supervisord.org/introduction.html 简介: Supervisor 类unix系统下的进程控制工具. 特性: 1.配置简 ...
随机推荐
- 无脑无负担网站架构-- Application Request Route的一些应用
首先作为一个.net 程序员,多数情况你懒的整什么架构啊.框架啊.还有那命令行的linux,别说linux也有桌面,那个桌面用起来更让人抓狂,一直不明白居然有人说喜欢上linux的命令行,装B还是SB ...
- 机器学习—K近邻
一.算法原理 还是图片格式~ 二.sklearn实现 import pandas as pd import numpy as np import matplotlib.pyplot as plt im ...
- 在Ubuntu14.04上安装WordPress4搭建技术博客
1.安装LAMP环境 1.1 安装Apache2 1.2 安装MySQL5 1.3 安装PHP5 1.4 安装phpMyAdmin 2.初始化数据库 3.下载并配置WordPress 4.配置Apac ...
- pro2
#include<iostream> double sum(int n,dounle[]) { double array[100]; foe(int i=0;i<100;i++; ...
- Sqler 工具更新
新加入打分邮件,针对每台db 服务器应用情况分析打分,目前支持batch.duration.cpu 3个维度.后续会支持 read io.write io.network io 等.自动化,数字化是衡 ...
- linux bash变量替换(# ## % %% / //)
VAR=hahaha echo ${VAR#*h} # ahaha 从前向后匹配删除 VAR=hahaha echo ${VAR##*h} # a 贪婪模式,从前向后匹配删除所有 VAR=hahaha ...
- IOC容器之Autofac
讲到IOC容器,就必须提到DIP(依赖倒置原则). DIP是OOD(面向对象设计)的一个重要思想,在该原则上引申出了\IOC(控制反转)\DI(依赖注入)\IOC容器. 居然讲到IOC容器,当然我们要 ...
- winform在A窗体刷新B窗体,并改变窗体的属性
//A窗体设置B窗体的属性并刷新B窗体 Application.OpenForm["窗体名称"].Controls["控件名称"].visible=true;
- nginx 托管.net core的service文件
在 /etc/systemd/system/ 中新建一个服务文件site1.service vim /etc/systemd/system/site1.service [Unit] Descripti ...
- 写了一个Windows服务,通过C#模拟网站用户登录并爬取BUG列表查询有没有新的BUG,并提醒我
写了一个Windows服务,通过C#模拟网站用户登录并爬取BUG列表查询有没有新的BUG,并提醒我 1.HttpUtil工具类,用于模拟用户登录以及爬取网页: using System; using ...