尋找 Apache 進程正在運行的腳本

尋找 Apache 進程正在運行的腳本

我在 Ubuntu 伺服器上將 Apache 2.4 配置為 mpm_prefork。

碰巧透過htop我看到有一些進程使用了大量的CPU。

我如何準確地找出此 Apache 進程在我的網站上運行的 url/php 腳本?例如。

PID 中央處理器 時間 使用者 命令 腳本(我沒有訊息)
123 80% 0:01:30 www-數據 /usr/bin/apache2 -k 啟動 /site-folder/index.php/controller/function_abc
123 5% 0:02:30 www-數據 /usr/bin/apache2 -k 啟動 /site-folder/index.php/controller_2/function_123

我無法啟動mod_statusCIS不建議使用該模組。

答案1

建議不要啟用 mod_status 的原因是,如果它可用,那麼它將在伺服器範圍內可用。
當您也允許.htaccess檔案(這是預設的或大多數 Apache httpd 部署)時,每個可以編輯/建立.htaccess檔案的使用者都可以啟用狀態 URL。與大多數可以從.htaccess檔案啟用/配置的指令不同,狀態 URL 的範圍不限於放置 .htaccess 檔案的目錄路徑,而是公開整個伺服器和託管在其中的所有網站的狀態。這可能會在共享伺服器上造成嚴重的安全風險/資訊外洩。

這種安全風險不需要存在。

當許多不同的網站管理員不使用伺服器而不是依賴.htaccess檔案時,伺服器管理員可以將所有指令載入到靜態配置中httpd.conf(和/或從啟用網站和/或conf.d等包含的片段中) . 子目錄。
然後禁用所有.htaccess(透過設定AllowOverride none)。那也提高性能順便一提。
然後,只有管理員可以啟用狀態 URL,並且在該 URL 上設定適當的存取控制時,使用 mod_status 沒有風險。

相關內容