Lighttpd发送Nagios命令行输出,而不是Web界面

我最近在运行AmazonLinux的EC2实例上安装了Nagios(根据我的理解,这基本上是SuSe)。 我使用lighttpdmod_cgi来为Web界面提供服务。

当我导航到一个页面,而不是得到实际的内容,我得到这个:

  Nagios Core 3.3.1
版权所有(c)2009-2011 Nagios核心开发团队和社区贡献者
 Copyright(c)1999-2009 Ethan Galstad
最后修改date:07-25-2011
许可证:GPL

网站:http://www.nagios.org
用法:/ usr / sbin / nagios [options] 

选项:

   -v,--verify-configvalidation所有configuration数据
   -s,--test-scheduling显示预计/推荐的检查计划和其他
                               基于当前configuration文件的诊断信息。
   -x,--dont-verify-paths不检查圆形对象path - 使用注意!
   -p,--precache-objects Precache对象configuration - 与-v或-s选项一起使用
   -u,--use-precached-objects使用预先存储的对象configuration文件
   -d,--daemon以守护进程模式启动Nagios,而不是作为前台进程

请访问Nagios网站http://www.nagios.org/查看是否有bug修复
发布,在线文档,常见问题,订阅信息
邮件列表和Nagios的商业支持选项。 

这似乎是命令行版本的帮助文档。 这里是我的lighttpd.conf的相关位:

 alias.url = ( "/nagios/cgi-bin" => "/usr/sbin/nagios", "/nagios" => "/usr/share/nagios/html" ) $HTTP["url"] =~ "^/nagios/cgi-bin" { cgi.assign = ( "" => "" ) } $HTTP["url"] =~ "^/nagios/cgi-bin" { auth.backend = "htpasswd" auth.backend.htpasswd.userfile = "/etc/nagios/passwd" auth.require = ( "" => ( "method" => "basic", "realm" => "Nagios Access", "require" => "user=nagiosadmin" ) ) } $HTTP["url"] =~ "^/nagios" { auth.backend = "htpasswd" auth.backend.htpasswd.userfile = "/etc/nagios/passwd" auth.require = ( "" => ( "method" => "basic", "realm" => "Nagios Access", "require" => "user=nagiosadmin" ) ) } 

我究竟做错了什么?

我想到了。 对于在Google或其他网站上find此内容的用户:

出于某种原因,cgi-bin目录实际上安装在/usr/lib64/nagios/ 。 我指着lighttpd的Nagios的实际可执行文件,这就是为什么它吐出了帮助文档。

这是需要改变的部分:

  alias.url =(
                 “/ nagios / cgi-bin”=>“/ usr / lib64 / nagios / cgi-bin”,
                 “/ nagios”=>“/ usr / share / nagios / html”
 )