Mam sytuację, w której mój VPS wyczerpał się z powodu mojej strony. Jak potwierdzić, który plik PHP jest uruchomiony przez Apache? Więc mogę rozwiązać ten problem.
Spróbowałem poleceń lsof -p
, ps -f
, strace -p
, ale nikt mi nie pomoże, ponieważ wszystkie nadchodzące pliki są plikami apache, takimi jak /usr/local/zend/apache2/bin/httpd
, /usr/local/zend/apache2/modules/mod_unique_id.so
.
linux
apache-http-server
php
prince
źródło
źródło
pidof apache2
lub coś takiego.Odpowiedzi:
Posługiwać się
sudo
tylko w razie potrzeby. Wypisz wszystkie procesy, a następnie powiedzgrep
aby wyprowadzać tylko wiersze ze słowemphp
.Przeczytaj dane wyjściowe zgodnie z poniższym nagłówkiem
źródło
Jeśli próbujesz uzyskać pełną ścieżkę do działającego modułu PHP Apache, zrób to.
Plik PHP używany przez Apache powinien mieć nazwę
libphp5.so
. Więc możesz to uruchomićlsof
polecenie przezsudo
:Które powinny zwrócić cały stos wyników z prawie wszystkimi pokazującymi pełną ścieżkę do
libphp5.so
powinno to być coś takiego, jeśli korzystasz z systemu Ubuntu / Debian:Jeśli próbujesz monitorować serwer Apache, aby dowiedzieć się, który plik może go zadławić, zrób to.
To powiedziawszy, nie jest dla mnie jasne z twojego pytania, co masz na myśli mówiąc „Jak potwierdzić, który plik PHP działa w Apache?” Od ponownego przeczytania, co sprawia, że myślę, że być może próbujesz dowiedzieć się, jaki skrypt PHP dławi twój serwer, a nie jaki moduł PHP ładuje? Ponieważ rzeczywisty moduł PHP ładuje się prosto, jest to tylko parser PHP, którego używa Apache. Ale skrypt PHP, który uruchamiasz przez tę konfigurację, jest zupełnie inny.
Problem polega na tym, że sposób, w jaki działa Apache, zawartość / pliki są analizowane na żądanie. Musisz więc uruchomić narzędzie, które będzie monitorować żądania Apache w czasie rzeczywistym, aby uzyskać potrzebne informacje. Jest kilka sposobów, aby to zrobić z linii poleceń.
Używanie Apache Top do monitorowania serwera WWW Apache.
Po pierwsze, możesz zainstalować i uruchomić Apache Top który jest podobny do standardowego Linux / Unix
top
ale dla procesów Apache. Na przykład, jest to miły / prosty sposób monitorowania plików dziennika serwera WWW w czasie rzeczywistym za pomocą Apache Top:The
-r 2
odświeży wyjście co 2 sekundy, a-f /var/log/apache2/access.log
mówiapache-top
raportować informacje z dostarczonego dziennika Apache. W tym przykładzie ładuje domyślny plik dziennika Apache z instalacji Ubuntu / Debiana, ale należy zmienić tę pełną ścieżkę pliku, aby pasowała do rzeczywistej lokalizacji pliku dziennika Apache.Używanie ELinks do monitorowania serwera WWW Apache.
Inną metodą używaną do monitorowania Apache na serwerze jest użycie ELinks i domyślny adres URL statusu Apache w następujący sposób:
ELinks to po prostu przeglądarka internetowa oparta na tekście. Jeśli więc uruchomisz to z wiersza poleceń, po prostu załaduje się przekazany do niego adres URL i jeśli zauważysz, że ten adres URL zawiera
refresh=1
parametr, który po prostu mówiserver-status
odświeżyć się co sekundę.źródło