nginx监测脚本

import platform
import subprocess
import requests
import paramiko
def install_nginx_remotely(client, server_ip):
    if "Ubuntu" in platform.uname().release:
        command = "apt install nginx"
    elif "Linux" in platform.uname().release:
        command = "yum install nginx"
    else:
        print("不支持的操作系统")
        return

    stdin, stdout, stderr = client.exec_command(command)
    print(stdout.read().decode())

def check_nginx_status_remotely(client, server_ip):
        try:
            response = requests.get(f"http://{server_ip}", timeout=5)
            if response.status_code == 200:
                print(f"Nginx 服务已启动,且可以访问 {server_ip}")
            else:
                print(f"Nginx 服务已启动,但无法访问 {server_ip}")
        except requests.exceptions.ConnectionError:
            print(f"Nginx 服务未启动 {server_ip}")
def main():
    # 检测服务器操作系统
    os_info = platform.uname().release
    if "Ubuntu" in os_info:
        print("检测到服务器操作系统为 Ubuntu")
    elif "Linux" in os_info:
        print("检测到服务器操作系统为 Red Hat")
    else:
        print("不支持的操作系统")
        return

    # SSH 连接参数
hostname = "192.168.31.128"
username = "root"
password = ("131415711")

    # 创建 SSH 客户端
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

try:
        # 连接到服务器
        client.connect(hostname, username=username, password=password)

        # 远程安装 Nginx 软件
        install_nginx_remotely(client, hostname)

        # 远程检查 Nginx 服务状态
        check_nginx_status_remotely(client, hostname)
except paramiko.AuthenticationException:
        print("认证失败")
except paramiko.SSHException as e:
        print(f"SSH 错误: {e}")
finally:
        # 关闭 SSH 连接
        client.close()

if __name__ == "__main__":
    main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值