Opisałem już jak postawić serwer WWW (Apache2, MySQL, phpMyAdmin), jak zamienić PHP-MOD na PHP-FPM, oraz jak uruchomić serwer WWW oparty o Nginx (z PHP-FPM).
Opisałem też jak uruchomić stronę z wbudowanymi statystykami dla serwera Apache2, oraz Nginx. I tak dziś mnie naszło, że chyba zapomniałem o jeszcze jednej stronie tego typu – stronie ze statystykami serwera PHP-FPM, co zamierzam właśnie nadrobić…
Spis treści w artykule
PHP: Parametry pracy usługi
W tym poradniku postaram się w prosty i przystępny sposób (czyli jak zwykle ;-)) opisać, jak uruchomić standardową (wbudowaną) w PHP-FPM stronę ze statusem pracy usługi dla webserwerów Apache2 i Nginx.
Konfiguracja PHP-FPM
Zacznę od tego, co jest wspólne dla tych 2 webserwerów, czyli aktywacja odpowiedniej opcji w ustawieniach PHP-FPM:
sudo nano /etc/php5/fpm/pool.d/www.conf
W tym pliku szukamy:
;pm.status_path = /status
Następnie usuwamy znak średnika, tak by odkomentować:
pm.status_path = /status
Możecie od razu zmienić adres URL z „status”, na jakiś inny, tak by nie kolidowało z innymi stronami statusów (np. Apache2 czy Nginx). Na potrzeby tego poradnika niech to będzie:
pm.status_path = /status-php
Zapisujemy, i restartujemy usługę:
sudo service php5-fpm restart
Połowa pracy przed nami, teraz musimy jeszcze skonfigurować nasz webserwer:
Konfiguracja Apache2
Jeśli korzystamy z Apache2, to przystępujemy do edycji pliku strefy naszego serwera (plik w którym definiujemy parametry strony/domeny), np.:
sudo nano /etc/apache2/sites-available/000-default.conf
I między:
<VirtualHost *:80>
i
</VirtualHost>
dodajemy:
<LocationMatch /status-php>
SetHandler php5-fcgi-virt
Action php5-fcgi-virt /php5-fcgi virtual
Deny from all
Allow from 127.0.0.1
Allow from [KOLEJNY UPRAWNIONY ADRES IP]
</LocationMatch>
Zapisujemy, i restartujemy Apache2:
sudo service apache2 restart
Lub tylko odświeżamy konfigurację:
sudo service apache2 reload
Strona ze statusem usługi powinna w tym momencie działać pod adresem:
http://[domena lub adres IP]/status-php
Jeśli otrzymujecie błąd 403 (odmowa dostępu), sprawdźcie, czy na liście dozwolonych adresów znajduje się Wasz adres IP, gdyż ze względów bezpieczeństwa blokujemy dostęp do statystyk z nieautoryzowanych adresów IP (nie jest to jakieś specjalnie duże zagrożenie, ale dobrą praktyką jest przekazywanie na zewnątrz do publicznego odczytu jak najmniej informacji, bo nigdy nie wiadomo jaka przyda się atakującemu).
Konfiguracja Nginx
Jeśli korzystamy z Nginx, to i tym razem przystępujemy edycji pliku strefy naszego serwera (plik w którym definiujemy parametry strony/domeny), np.:
/etc/nginx/sites-enabled/default
Pamiętaj by wybrać wpis odpowiedni dla swojej konfiguracji – więcej na ten temat w tym wpisie…
I między:
server {
i
}
dodajemy:
location /php-status {
access_log off;
allow 127.0.0.1;
allow [KOLEJNY UPRAWNIONY ADRES IP]
deny all;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
# Nginx 1.2.1:
#include fastcgi_params;
# Nginx 1.6.1+:
include fastcgi.conf;
# Więcej informacji w tabelce w tym wpisie
}
Zapisujemy, i restartujemy Nginx:
sudo service nginx restart
Lub tylko odświeżamy konfigurację:
sudo service nginx reload
Strona ze statusem usługi powinna w tym momencie działać pod adresem:
http://[domena lub adres IP]/ping-php
Przykładowa strona z parametrami pracy usługi:
pool: www
process manager: xxx
start time: 06/Nov/2015:08:07:46 +0100
start since: xxx
accepted conn: yyy
listen queue: x
max listen queue: x
listen queue len: x
idle processes: x
active processes: x
total processes: x
max active processes: x
max children reached: x
slow requests: x
Jeśli otrzymujecie błąd 403 (odmowa dostępu), sprawdźcie, czy na liście dozwolonych adresów znajduje się Wasz adres IP, gdyż ze względów bezpieczeństwa blokujemy dostęp do statystyk z nieautoryzowanych adresów IP (nie jest to jakieś specjalnie duże zagrożenie, ale dobrą praktyką jest przekazywanie na zewnątrz do publicznego odczytu jak najmniej informacji, bo nigdy nie wiadomo jaka przyda się atakującemu).
PHP-FPM: Status pracy usługi (ping-pong)
A skoro przy stronie z parametrami pracy usługi PHP-FPM jesteśmy, to warto przedstawić jeszcze jedną funkcję z tym związaną, dzięki której wprawdzie nie otrzymamy żadnych szczegółowych informacji, ale za każdym razem, gdy wywołamy stronę otrzymamy ten sam tekst (pong), który świadczy o tym, że nasz webserwer (w tym PHP) działa – idealne do zdalnego i automatycznego monitorowania pracy serwera.
Z racji tego, że konfiguracja jest bardzo (naprawdę bardzo) podobna, możecie mieć miejscami wrażenie, że już to czytaliście ;-)
Konfiguracja PHP-FPM
Ponownie zacznę od tego, co jest wspólne dla tych 2 webserwerów, czyli aktywacja odpowiedniej opcji w ustawieniach PHP-FPM:
sudo nano /etc/php5/fpm/pool.d/www.conf
W tym pliku szukamy:
;ping_path = /ping
Następnie usuwamy znak średnika, tak by odkomentować:
ping_path = /ping
Możecie od razu zmienić adres URL z „status”, na jakiś inny, tak by nie kolidowało z innymi stronami statusów (np. Apache2 czy Nginx). Na potrzeby tego poradnika niech to będzie:
ping_path = /ping-php
Jeśli chcecie zmienić również odpowiedź (wyświetlany tekst) wystarczy zmodyfikować parametr:
;ping.response = pong
na:
ping.response = webinsider
Zapisujemy, i restartujemy usługę:
sudo service php5-fpm restart
Połowa pracy przed nami, teraz musimy jeszcze skonfigurować nasz webserwer:
Konfiguracja Apache2
Jeśli korzystamy z Apache2, to przystępujemy do edycji pliku strefy naszego serwera (plik w którym definiujemy parametry strony/domeny), np.:
sudo nano /etc/apache2/sites-available/000-default.conf
I między:
<VirtualHost *:80>
i
</VirtualHost>
dodajemy:
<LocationMatch /ping-php>
SetHandler php5-fcgi-virt
Action php5-fcgi-virt /php5-fcgi virtual
Allow from all
#Deny from all
#Allow from 127.0.0.1
#Allow from [KOLEJNY UPRAWNIONY ADRES IP]
</LocationMatch>
Zapisujemy, i restartujemy Apache2:
sudo service apache2 restart
Lub tylko odświeżamy konfigurację:
sudo service apache2 reload
Strona ze statusem usługi powinna w tym momencie działać pod adresem:
http://[domena lub adres IP]/ping-php
W przeglądarce – jeśli wszystko działa poprawnie – zobaczycie tekst:
pong
Z racji tego, że w tym przypadku właściwie nie przesyłamy żadnych informacji poza tym, że strona działa – ustawiłem stronę jako dostępną dla każdego, z dowolnego adresu IP, dzięki czemu możecie wykorzystać ją do sprawdzania/monitorowania pracy Waszego serwera (oczywiście w każdej chwili możecie to zmienić, jako komentarze zostawiłem odpowiednie opcje).
Konfiguracja Nginx
Jeśli korzystamy z Nginx, to również tym razem przystępujemy edycji pliku strefy naszego serwera (plik w którym definiujemy parametry strony/domeny), np.:
/etc/nginx/sites-enabled/default
I między:
server {
i
}
dodajemy:
location /ping-php {
access_log off;
allow all;
#allow 127.0.0.1;
#allow [KOLEJNY UPRAWNIONY ADRES IP]
#deny all;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
# Nginx 1.2.1:
#include fastcgi_params;
# Nginx 1.6.1+:
include fastcgi.conf;
# Więcej informacji w tabelce w tym wpisie
}
Zapisujemy, i restartujemy Nginx:
sudo service nginx restart
Lub tylko odświeżamy konfigurację:
sudo service nginx reload
Strona ze statusem usługi powinna w tym momencie działać pod adresem:
http://[domena lub adres IP]/ping-php
W przeglądarce – jeśli wszystko działa poprawnie – zobaczycie tekst:
pong
Z racji tego, że w tym przypadku właściwie nie przesyłamy żadnych informacji poza tym, że strona działa – ustawiłem stronę jako dostępną dla każdego, z dowolnego adresu IP, dzięki czemu możecie wykorzystać ją do sprawdzania/monitorowania pracy Waszego serwera (oczywiście w każdej chwili możecie to zmienić, jako komentarze zostawiłem odpowiednie opcje).
PS. Można skonfigurować obie strony za pomocą wspólnego wpisu, ale ze względu na rożne uprawnienia dostępu dla rożnych informacji zazwyczaj korzystam z nich tak jak w tym poradniku, czyli rozdzielnie.
- Wakacje składkowe ZUS a zawieszenie działalności gospodarczej, czyli uważaj, bo być może nie będziesz mógł skorzystać (w 2024) - 1970-01-01
- Przykładowy kalkulator wyceny usługi druku 3D, czyli nie tylko materiał się liczy - 1970-01-01
- Home Assistant 2024.10, czyli nowa karta „nagłówek” i niedziałający TTS w ramach usługi Google Cloud - 1970-01-01