我无法让 Apache::VMonitor 在 Apache2 中工作

Posted

技术标签:

【中文标题】我无法让 Apache::VMonitor 在 Apache2 中工作【英文标题】:I cannot get Apache::VMonitor working in Apache2 【发布时间】:2012-05-10 12:43:31 【问题描述】:

我正在从 Apache 1.3 迁移到 Apache 2.063,并且无法让 Apache::VMonitor 正常工作。

我尝试了这样的设置,类似于我在旧 Apache 中的设置:

<Perl>
  use Apache::VMonitor();
  $Apache::VMonitor::ConfigBLINKING = 1;
  $Apache::VMonitor::Configrefresh  = 0;
  $Apache::VMonitor::Configverbose  = 1;
  $Apache::VMonitor::Configsystem   = 1;
  $Apache::VMonitor::Configapache   = 1;
  $Apache::VMonitor::Configprocs    = 1;
  $Apache::VMonitor::Configmount    = 1;
  $Apache::VMonitor::Configfs_usage = 1;
  $Apache::VMonitor::Configapache_sort_by  = 'vsize';
  $Apache::VMonitor::PROC_REGEX = join "\|", qw(.*)
</Perl>

<Location /vmonitor>
  SetHandler perl-script
  PerlHandler Apache::VMonitor
  Order deny,allow
  Deny from all
  Allow from 127.0.0.1
  Allow from X.X.X.X ## really a valid IP
</Location>

当我尝试启动我的服务器时,我收到了这个错误:

ap_scoreboard_image 不存在于 ...

我在 Apache::VMonitor 文档中发现了一条注释:

注意对于 2.0.53 之后的 Apache 版本(已在 2.0.54、2.0.55 和 2.0.58 上验证),加载 Apache::VMonitor 部分和/或 PostConfigRequire 文件由于时间更改而无法工作Apache 初始化记分板对象。

问题是它没有说明我何时可以在更高版本的 Apache 中初始化记分牌对象。我试图省略“use”语句并得到这个错误:

恐慌:全局销毁期间的 del_backref。

* 错误代码 255

有人知道如何让它工作吗?我并没有坚持使用 Apache::VMonitor,如果有人可以提出另一种方法来解析和显示来自 Apache 记分牌的数据,我愿意接受建议。

【问题讨论】:

也许启动一个等待记分板出现的包装器,然后他们启动 VMonitor。 确认 Apache::Scoreboard 遭受了比特腐烂,需要与现代版本的 httpd 保持同步。 这真的应该在Server Fault而不是在这里问。如果它没有开放的赏金(防止),我会标记它进行迁移 @Hasturkun - 赏金已关闭,如果您仍然认为这更适合服务器故障,请随时标记。 【参考方案1】:

我已将 V2.07 推送到 CPAN,这应该可以解决该问题(如果您不需要 GTop 提供的信息或在 Windows 上运行,还删除了对 GTop 的依赖)。

使用之前的版本 (V2.06),您应该能够在您的脚本/应用程序中对其进行初始化。基本上在启动阶段之后的任何地方,如果我没记错的话,在创建子线程/进程之前没有记分牌。

如果你想要的话,源代码在 github (http://github.com/mjharwood/Apache--VMonitor-2.0) 上。

【讨论】:

以上是关于我无法让 Apache::VMonitor 在 Apache2 中工作的主要内容,如果未能解决你的问题,请参考以下文章

我无法让 GPS 工作

无法让 RestKit 在 Xcode 4.6 中工作

无法让 CORS 工作(NodeJS)

15行代码让苹果设备崩溃,iOS 12也无法幸免

无法让 Ghostscript 使用 OpenType 字体

我无法让相机打开它的灯