Jak zainstalować Nginx z PHP-FPM na CentOS 8

Jak zainstalować Nginx z PHP-FPM na CentOS 8

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 = dynamika
1234567891011; 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;
12345678910111213141516171819serwer 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.