通过脚本判断远程Web服务器状态码是否正常

简介:

通过脚本判断远程Web服务器状态码是否正常


  1. 说明:

    (1)生产环境常见的HTTP状态码列表,请查看我的博文:http://wutengfei.blog.51cto.com/10942117/1934645

    (2)实验中远程nginx服务器IP地址:192.168.100.114

       本地客户端IP地址:192.168.100.118

  2. 脚本如下

方法1:if

#!/bin/bash

httpcode=`curl -I -s 192.168.100.114|head -1|cut -d " " -f2`

if [ "$httpcode" == "200" ];then

        echo "nginx is running."

else

        echo "nginx is not running."

fi

验证结果如下:

开启nginx服务

wKiom1lmMUOB2nAXAAANTG3xlxk248.png

在客户端执行脚本:

wKiom1lmMYqRx47cAAAJRXT2nq0061.png

现在关闭nginx服务:

wKiom1lmMfaDpi6bAAAWBZvSb34855.png

在客户端执行脚本:

wKioL1lmMlewhffLAAAJ74AnXAQ995.png

方法2:利用传参

#!/bin/bash

if [ $# -ne 1 ];then

        echo "Usage:$0 IP port."

fi

httpcode=`curl -I -s $1|head -1|cut -d " " -f2`

if [ "$httpcode" == "200" ];then

        echo "nginx is running."

else

        echo "nginx is not running."

fi

验证结果如下:

开启nginx服务

wKiom1lmMUOB2nAXAAANTG3xlxk248.png

在客户端执行脚本:

wKioL1lmOMSg6Iz6AAALjClRT6g702.png

现在关闭nginx服务:

wKiom1lmMfaDpi6bAAAWBZvSb34855.png

在客户端执行脚本:

wKiom1lmOSTxnkybAAANdoZY5QM869.png

方法3:利用read,界面比较友好

#!/bin/bash

read -p "please input IP:" a

if [ -z $a ];then

        echo "Usage:$0 please input ip."

fi

httpcode=`curl -I -s $a|head -1|cut -d " " -f2`

if [ "$httpcode" == "200" ];then

        echo "nginx is running."

else

        echo "nginx is not running."

fi

验证结果如下:

开启nginx服务

wKiom1lmMUOB2nAXAAANTG3xlxk248.png

在客户端执行脚本:

wKiom1lmOuqiWCfdAAAOh5PnW2k901.png

现在关闭nginx服务:

wKiom1lmMfaDpi6bAAAWBZvSb34855.png

在客户端执行脚本:

wKioL1lmO0WxJrA-AAAPqRodhRM887.png

方法4:利用函数

#!/bin/bash

[ -f /etc/init.d/functions ] && . /etc/init.d/functions || exit 1

read -p "please input IP:" a

httpcode=`curl -I -s $a |head -1|cut -d " " -f2`

if [ "$httpcode" == "200" ];then

        action "nginx is running." /bin/true

else

        action "nginx is not running." /bin/false

fi

验证结果如下:

开启nginx服务

wKiom1lmMUOB2nAXAAANTG3xlxk248.png

在客户端执行脚本:

wKioL1lmPoKBLO6rAAAQeUGlLVk564.png

现在关闭nginx服务:

wKiom1lmMfaDpi6bAAAWBZvSb34855.png

在客户端执行脚本:

wKiom1lmPuqyiQgeAAAQodDkXI8010.png





     本文转自品鉴初心51CTO博客,原文链接:http://blog.51cto.com/wutengfei/1946907,如需转载请自行联系原作者


相关文章
|
1月前
|
机器学习/深度学习 弹性计算 Shell
ecs服务器shell常用脚本练习(八)
【4月更文挑战第6天】shell代码训练(八)
117 0
|
1月前
|
弹性计算 安全 Shell
ecs服务器shell常用脚本练习(七)
【4月更文挑战第5天】shell代码训练(七)
145 1
|
1月前
|
存储 缓存 网络协议
Web客户/服务器程序
Web客户/服务器程序
|
5天前
|
缓存 负载均衡 安全
深入探索Nginx高性能Web服务器配置与优化
【5月更文挑战第7天】本文深入探讨了Nginx的配置与优化,重点介绍了基础配置参数如`worker_processes`、`worker_connections`和`keepalive_timeout`,以及优化策略,包括使用epoll事件驱动模型、开启gzip压缩、启用缓存、负载均衡和安全配置。此外,还提到了性能调优工具,如ab、nginx-stats和nmon,以助于提升Nginx的性能和稳定性。
|
13天前
|
中间件 Go API
Golang深入浅出之-Go语言标准库net/http:构建Web服务器
【4月更文挑战第25天】Go语言的`net/http`包是构建高性能Web服务器的核心,提供创建服务器和发起请求的功能。本文讨论了使用中的常见问题和解决方案,包括:使用第三方路由库改进路由设计、引入中间件处理通用逻辑、设置合适的超时和连接管理以防止资源泄露。通过基础服务器和中间件的代码示例,展示了如何有效运用`net/http`包。掌握这些最佳实践,有助于开发出高效、易维护的Web服务。
28 1
|
16天前
|
机器学习/深度学习 数据挖掘 Python
使用Python实现简单的Web服务器
使用Python内置的http.server模块,本文演示了创建基本Web服务器的步骤。通过编写简单的代码,实现响应GET请求并返回“Hello, World!”。此外,还展示了如何扩展服务器功能,处理不同URL路径,如根路径和/about路径,并实现404错误页面。这个基础教程为理解HTTP服务器原理和Python网络编程入门提供了帮助。对于复杂Web应用,建议使用Flask或Django等高级框架。
|
17天前
|
负载均衡 监控 Unix
[AIGC] Nginx:一个高性能的 Web 服务器和反向代理
[AIGC] Nginx:一个高性能的 Web 服务器和反向代理
|
23天前
|
Apache
web服务器(Apache)访问日志(access_log)详细解释
web服务器(Apache)访问日志(access_log)详细解释
|
29天前
|
安全 Java 应用服务中间件
轻量级奇迹:Java 18迎来迷你Web服务器的时代
轻量级奇迹:Java 18迎来迷你Web服务器的时代
20 0
轻量级奇迹:Java 18迎来迷你Web服务器的时代
|
29天前
|
存储 弹性计算 Shell
ecs服务器shell常用脚本练习(十)
【4月更文挑战第11天】shell代码训练(十)
153 0