zoukankan      html  css  js  c++  java
  • PHP检测服务器是否宕机

    ping命令行指令检测:

    /**
     * PHP命令行ping
     * @param [str] $address 域名或者IP
     * @return [arr] ['status'=>1|0,'data'=>'响应信息']
     */
    function pingAddress($address) {
    
        if(preg_match('/WIN/', PHP_OS)){
            // Windows 服务器下
            exec("ping -n 1 $address", $output, $return_var);
        }else{
            // Linux 服务器下
            exec("ping -c 1 $address", $output, $return_var);
        }
    
        $output = implode(';',array_filter($output));
        if(preg_match('/Reply from/', $output)){
            preg_match('/Reply[s]+from[sS]+:([Ss]+);/U', $output,$match);
            $match = $match[1];
            $msg = trim($match);
            if(preg_match('/time/', $msg)){
                $status = 1;
            }else{
                $status = 0;
            }
        }else{
            $msg = $output;
            $status = 0;
        }
    
        // 解析响应描述信息
        $data = array('status'=>$status,'data'=>$msg);
        return $data;
    }

    Linux查看机器当前fpm的子进程数:

    while :; do ps aux|grep -c php-fpm;sleep 1;done

    3G书城默认FPM配置:

    [global]
    pid = /usr/local/php/var/run/php-fpm.pid
    error_log = /data/log/weblog/php-fpm.log
    # 能打开的最大文件描述符
    rlimit_files = 4096
    [www]
    # FPM监听端口
    listen = 127.0.0.1:9000
    user = nobody
    group = nobody
    
    # 设置进程管理器如何管理子进程 - 动态
    pm = dynamic
    # pm 设置为dynamic时表示最大可创建的子进程的数量
    pm.max_children = 400
    # 启动时创建的子进程的数量
    pm.start_servers = 20
    # 所需的最小空闲服务器进程数
    pm.min_spare_servers = 10
    # 所需的最大空闲服务器进程数
    pm.max_spare_servers = 90
    # FPM 状态页面的网址
    pm.status_path = /phpfpm_status
    # 为单个请求提供服务的超时,之后工作进程将处理该请求被清理
    request_terminate_timeout = 30s
    # 能打开的最大文件描述符
    rlimit_files = 4096
  • 相关阅读:
    深度通道编程模型
    缓冲区溢出实验实验楼
    团队作业(一)
    信安导论学习阶段性总结
    Python总结
    mysql下载及安装
    初识python
    MobileMenuScene来点动画效果
    移动菜单页面PlayerInput
    渲染和填充MobileMenuListItem
  • 原文地址:https://www.cnblogs.com/xuweiqiang/p/10844249.html
Copyright © 2011-2022 走看看