nagios 发送命令 /nagios/cgi-bin/cmd.cgi无法打开(nginx环境下)

本文详细介绍了如何解决Nginx不支持POST请求的问题,通过修改Nagios源代码并重新编译,将POST请求改为GET请求。同时,解决了无法打开更新命令文件的错误,通过修改启动脚本和权限设置,确保Nagios正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原因分析,nginx不支持post。

解决方法,重新编译nagios

1、vi /nagios-4.0.8/cgi/cmd.c

  找到printf("<form method='post' action='%s'>\n", COMMAND_CGI);

  post修改为get

2、重新make,不需要make install

  复制新的cmd.cgi替换旧的的

  cp nagios-4.0.8/cgi/cmd.cgi /usr/local/nagios/sbin/cmd.cgi

3、Error: Could not open command file ‘/usr/local/nagios/var/rw/nagios.cmd’ for update!,有这个错误信息后,搜索下,得到答案:http://blog.sina.com.cn/s/blog_6eee530801010ade.html
修改nagios的启动脚本/etc/init.d/nagios(或者直接找到rw,执行chmod -R 777 rw

start)
echo -n "Starting nagios:"
$NagiosBin -v $NagiosCfgFile > /dev/null 2>&1;
if [ $? -eq 0 ]; then
su - $NagiosUser -c "touch $NagiosVarDir/nagios.log $NagiosRetentionFile"
rm -f $NagiosCommandFile
touch $NagiosRunFile
chown $NagiosUser:$NagiosGroup $NagiosRunFile
$NagiosBin -d $NagiosCfgFile
if [ -d $NagiosLockDir ]; then touch $NagiosLockDir/$NagiosLockFile; fi
echo " done."
chmod -R 777 $NagiosVarDir/rw        ----增加这句话
exit 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值