查找 Apache 进程正在运行的脚本

查找 Apache 进程正在运行的脚本

我已在 Ubuntu 服务器上将 Apache 2.4 配置为 mpm_prefork。

碰巧的是,通过htop我看到的,有一些进程使用了​​大量CPU。

我如何才能准确找出这个 Apache 进程正在我的网站上运行的 url/php 脚本?例如:

PID 中央处理器 时间 用户 命令 脚本(我没有相关信息)
123 80% 0:01:30 www-数据 /usr/bin/apache2 -k 启动 /站点文件夹/index.php/controller/function_abc
123 5% 0:02:30 www-数据 /usr/bin/apache2 -k 启动 /站点文件夹/index.php/controller_2/function_123

我无法激活mod_status激活独联体不建议使用该模块。

答案1

建议不要启用 mod_status 是因为如果启用了 mod_status,那么它将在整个服务器范围内可用。
当您还允许.htaccess文件(这是默认设置或大多数 Apache httpd 部署)时,每个可以编辑/创建.htaccess文件的用户都可以启用状态 URL。与大多数可以从文件启用/配置的指令不同,.htaccess状态 URL 的范围不仅限于放置 .htaccess 文件的目录路径,而是公开整个服务器和托管在那里的所有站点的状态。这可能会对共享服务器造成严重的安全风险/信息泄露。

这种安全风险根本就没有必要存在。

当服务器未被许多不同的网站管理员使用时,.htaccess服务器管理员可以将所有指令加载到静态配置中,而不是依赖文件httpd.conf(和/或从 sites-enabled 和/或 conf.d 等子目录中包含的代码片段中)。
然后禁用所有.htaccess(通过设置AllowOverride none)。这也提高性能顺便说一下。这样
只有管理员才能启用状态 URL,并且当在该 URL 上设置了适当的访问控制时,使用 mod_status 就没有风险了。

相关内容