Jak zainstalować Nginx z PHP-FPM na CentOS 8
- 1610
- 431
- Juliusz Janicki
Częstym sposobem uruchomienia PHP z Nginx jest moduł FastCGI. PHP-FPM (FASTCGI Process Manager) znacznie zwiększa wydajność środowiska Nginx/PHP. Jest to więc przydatne dla stron internetowych o wysokim obciążeniu. Ten samouczek pomoże Ci skonfigurować PHP-FPM z Nginx w systemie CentOS 8 i RHEL 8 Linux.
PRZYKŁADY
- Nowo zainstalowany system zalecany do przestrzegania początkowej konfiguracji serwera.
- Dostęp do systemu Centos 8 z konto Sudo uprawnień.
Krok 1 - Zainstaluj Nginx
Pakiety Nginx są dostępne w domyślnym repozytorium AppStream. Możesz po prostu zaktualizować pamięć podręczną DNF i zainstalować pakiety serwera WWW Nginx za pomocą następujących poleceń.
sudo dnf aktualizacja sudo dnf instaluj nginx
Po instalacji pakietów uruchamia usługę NGINX, włącz również usługę Nginx, aby automatycznie startować w rozruchu systemowym.
Sudo Systemctl Włącz Nginx Sudo Systemctl Start nginx
Krok 2 - Zainstaluj PHP z PHP -FPM
Repozytorium REMI zawiera najnowsze pakiety PHP dla systemu Linux Centos 8. Przede wszystkim musisz dodać repozytorium REMI do swojego systemu. Po prostu wykonaj następujące polecenie, aby dodać repozytorium.
sudo dnf instaluj dnf-piutils http: // rpms.remirepo.Net/Enterprise/Remi-Rulease-8.RPM
Następnie włącz wymagany moduł DNF do instalacji PHP. Tutaj umożliwiamy moduł do instalacji PHP 7.4. Możesz to zmienić na php 7.3 lub PHP 7.2 Zgodnie z Twoimi wymaganiami.
moduł modułu sudo dnf moduł sudo dnf Włącz PHP: RESI-7.4
Teraz zainstaluj PHP w swoim systemie. Gdy zamierzamy korzystać z FastCGI Process Manager (FPM) do tej konfiguracji. Więc zainstaluj również pakiet PHP-FPM.
sudo dnf aktualizacja sudo dnf instalacja php php-fpm php-gd php-mysqlnd
Możesz również potrzebować więcej modułów PHP, więc zainstaluj je przed następnym. Po zakończeniu instalacji PHP Włącz usługę PHP-FPM i uruchom ją.
Sudo Systemctl Włącz php-fpm sudo systemctl start php-fpm
Upewnij się, że usługa PHP-FPM działa.
SUDO SystemCTL Status PHP-FPM ● PHP-FPM.Service - PHP FastCGI Process Manager załadowany: załadowany (/usr/lib/systemd/system/system/php -fpm.praca; wyłączony; PREDERTOR PRESET: niepełnosprawny) Active: Active (Uruchamianie) od poniedziałku 2019-12-09 21:44:57 PST; 1h 24 min temu główny PID: 29280 (php-fpm) Status: „Procesy Aktywne: 0, bezczynność: 5, żądania: 3, powolne: 0, ruch: 0req/s” Zadania: 6 (limit: 10321) Pamięć: 24.6M CGroup: /System.Slice/PHP-FPM.Service ├─29280 PHP-FPM: proces główny (/etc/php-fpm.Conf) ├─29281 PHP-FPM: Pula www ├─29282 PHP-FPM: Pula www ├─29283 PHP-FPM: pula www ├─29284 : 44: 57 tecadmin.przykład.com Systemd [1]: Uruchamianie PHP FastCGI Process Manager… 09 21:44:57 Tecadmin.przykład.Com Systemd [1]: Rozpoczął PHP FastCGI Process Manager.
Krok 3 - Skonfiguruj PHP -FPM
Na tym etapie zainstalowałeś wszystkie wymagane pakiety. Rozpocznijmy proces konfiguracji. Najpierw edytuj plik konfiguracyjny PHP-FPM:
sudo vim /etc /php-fpm.D/www.conf
Dokonaj zmian jak poniżej. Najnowsze wersje Nginx mogą połączyć się z gniazdem za pomocą proxy. Więc upewnij się, że słuchanie jest ustawione na plik gniazda.
Następnie ustaw użytkownika i zgrupuj tak samo co serwer Nginx za pomocą. Jeśli chcesz podłączyć FPM ze zdalnej zmiany systemu, słuchaj.dozwolone_klientów do LAN IP zamiast 127.0.0.1.
; Słuchaj = 127.0.0.1: 9000 słuchaj =/run/php-fpm/www.SOCK User = www-data grupa = www-data słuchaj.dozwolone_klients = 127.0.0.1 Słuchaj.właściciel = www-data słuchaj.grupa = www-data słuchaj.tryb = 0660 pm = dynamika1234567891011 | ; Słuchaj = 127.0.0.1: 9000Listen =/run/php-fpm/www.SOCK User = www-DataGroup = www-data słuchaj.dozwolone_klients = 127.0.0.1listen.Właściciel = www-Datalisten.grupa = www-datalisten.tryb = 0660pm = dynamika |
Po wprowadzeniu zmian uruchom ponownie usługę PHP-FPM w celu zastosowania zmian.
sudo systemctl restart php-fpm
Krok 4 - Utwórz blok serwera Nginx
Teraz utwórz blok serwera w Nginx dla swojej domeny i skonfiguruj ją do używania PHP-FPM do przetwarzania plików PHP. Utwórz plik blokowy serwera i edytuj w edytorze tekstu:
sudo vim/etc/nginx/conf.d/przykład.com.conf
Teraz dodałem konfigurację proxy za pomocą pliku gniazda. Skonfigurowany również cały skrypt PHP do użycia obsługi FPM do wykonania.
serwer posłuchaj 80 default_server; Przykład_nazowy Server_name.com www.przykład.com; root/var/www/html; # Załaduj pliki konfiguracyjne dla domyślnego bloku serwera. obejmują/etc/nginx/domyślne.D/*.conf; lokalizacja / lokalizacja ~* \.php $ # z PHP-FPM UNIX Sockets FastCGI_Pass UNIX:/run/php-fpm/www.skarpetka; Dołącz fastcgi_params; fastcgi_param script_filename $ dokument_root $ fastcgi_script_name; fastcgi_param script_name $ fastcgi_script_name;12345678910111213141516171819 | serwer posłuchaj 80 default_server; Przykład_nazowy Server_name.com www.przykład.com; root/var/www/html; # Załaduj pliki konfiguracyjne dla domyślnego bloku serwera. obejmują/etc/nginx/domyślne.D/*.conf; lokalizacja / lokalizacja ~* \.php $ # z PHP-FPM UNIX Sockets FastCGI_Pass UNIX:/run/php-fpm/www.skarpetka; Dołącz fastcgi_params; fastcgi_param script_filename $ dokument_root $ fastcgi_script_name; fastcgi_param script_name $ fastcgi_script_name; |
Zapisz plik konfiguracyjny bloku serwera i uruchom ponownie usługę Nginx, aby zastosować zmiany.
sudo systemctl restart nginx
Krok 5 - Włącz zasady zapory
Twój serwer jest gotowy do obsługi aplikacji. Jeśli w systemie jest włączona zapora ogniowa, upewnij się, że porty HTTP są otwarte dla dostępu z systemów zdalnych.
Następujące polecenia otworzą dla Ciebie wymagane porty.
sudo firewall-cmd --zone = public --Permanent --add-service = http sudo firewall-cmd --zone = public --Permanent --add-service = https sudo firewall-cmd--reload
Krok 6 - Konfiguracja testu
Wszystkie zrobione. Aby przetestować środowisko, utwórz skrypt PHP z phpinfo () funkcjonować. Umieść ten plik w root dokumentu swojego serwera. Użyj poniższego polecenia, aby to zrobić.
Echo "">/var/www/html/info.php
Następnie dostęp do informacji.PHP za pomocą adresu IP serwera (dla domyślnej VirtualHost) dla skonfigurowanej domeny w bloku serwera Nginx.
http: // localhost/info.php
Zsuń stronę i sprawdź wartość $ _server ['server_software'] w sekcji zmiennych PHP. To pokaże, że nazwa serwera WWW uruchomiona.
Wniosek
Z powodzeniem skonfigurowałeś Nginx z PHP-FPM w systemie CentOS 8 lub RHEL 8 Linux. Możesz teraz hostować stronę internetową ze swojego serwera.