关于服务器后台php-cgi进程无法启动的问题解决

  • 问题背景
    基于用户需求设计一款电源分配单元PDU配置管理平台,实现对相关电源分配单元的识别和远程控制,对各单元相关电能参数如电流、电压、功率、电能等参数实现实时低时延的跟踪采集。

  • 问题环境
    基于linux操作系统的开发环境,已搭建php开发环境,存储空间约300M。

  • 功能需求
    核心功能:实现各PDU电能参数的实时采集和监控,实现设备的远程控制;
    重要功能:PDU相关电能参数阈值设置;邮件告警;操作日志、事件告警日志的查询和导出
    基础功能:用户权限设置;恢复出厂设置;

  • 问题现象
    在测试对数据的采集监控功能时,突然间页面无法访问。

  • 问题排查
    1、打开cmd窗口,对设备的IP地址进行ping操作;ping成功,排除无法访问IP的问题;
    2、打开cmd窗口,对设备进行telnet操作,telnet IP地址,输入用户名和密码,用户登录成功后再命令行界面输入ps命令;发现关于php-cgi的进程没有启动;
    3、找到php-cgi服务的路径,执行./php-cgi -&命令,再次输入ps命令;发现关于php-cgi的进程处于"T"状态,即php-cgi服务处于僵尸状态。
    4、进程无法启动,查阅相关进程无法启动的原因,再结合开发环境和用户需求,发现整个环境的存储空间也就300M;
    5、回到命令行界面,执行df命令,查看磁盘空间使用情况;
    6、果然,磁盘空间使用率已将近100%。分析原因,由于设备的不断运行,产生的操作日志和告警日志不断积累,不断消耗磁盘的存储空间。

  • 解决方法
    编写shell脚本,对事件日志及告警日志文件进行清空,释放对应的磁盘空间。
    重启设备,登录命令行界面,执行ps命令,php-cgi服务正常启动。

  • 产品优化
    方法一:
    计算每条操作日志及告警日志的数据大小,根据可分配日志的存储空间计算最大可存储多少条日志,再计算设备平均产生日志的数量计算日志达到最大日志量的时间。
    再次编辑shell脚本,每隔一段时间自动清空无用日志;
    方法二:
    在配置管理平台设计日志清除功能,该功能通过界面向底层网关以UDP通信的方式发送日志清除命令,在底层实现无用历史日志的清除,释放相关磁盘空间。

最后推荐一个公众号,一枚IT技术人成长路上关于生活和职场的思考,欢迎书友们前来交流和分享心得

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值