Jak zainstalować Apache z PHP-FPM na CentOS 8

Jak zainstalować Apache z PHP-FPM na CentOS 8

Powszechnym sposobem uruchomienia PHP z Apache jest moduł MOD_PHP. Ale PHP-FPM ma kilka zalet w tym zakresie. PHP-FPM (FASTCGI Process Manager) znacznie zwiększa wydajność środowiska Apache/PHP. Jest to więc przydatne dla stron internetowych o wysokim obciążeniu. Ten samouczek pomoże Ci skonfigurować PHP-FPM z Apache w systemie Centos 8 i RHEL 8 Linux.

PRZYKŁADY

  • Dostęp do systemu Centos 8 z konto Sudo uprawnień.
  • Ukończ początkowy konfiguracja serwera dla nowo zainstalowanych systemów.

Krok 1 - Zainstaluj Apache

Pakiety Apache są dostępne w domyślnym repozytorium AppStream. Możesz po prostu zaktualizować pamięć podręczną DNF i zainstalować pakiety Apache Web Server za pomocą następujących poleceń.

sudo dnf aktualizacja sudo dnf instaluj httpd httpd-tools mod_ssl 

Pakiet MOD_SSL zapewnia funkcjonalność do korzystania z certyfikatu SSL dla bezpiecznego HTTP. Po instalacji włącz usługę HTTPD i uruchom.

Sudo Systemctl Włącz httpd sudo systemctl start httpd 

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, 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 dla Apache:

sudo vim /etc /php-fpm.D/www.conf 

Dokonaj zmian jak poniżej. Najnowsze wersje Apache 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 Apache 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 = Apache Group = Apache Słuchaj.dozwolone_klients = 127.0.0.1 Słuchaj.właściciel = Apache Słuchaj.grupa = apache słuchaj.tryb = 0660 pm = dynamika
1234567891011; Słuchaj = 127.0.0.1: 9000Listen =/run/php-fpm/www.Sock User = APACHEGOOP = Apache Listen.dozwolone_klients = 127.0.0.1listen.Właściciel = APACHELISTEN.grupa = APACHELISTEN.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 Apache VirtualHost

Teraz czas na skonfigurowanie Apache do używania php-fpm do przetwarzania plików php. Oto dwie opcje, albo używasz FPM jako domyślnie dla wszystkich wirtualnych hostów, albo możesz konkretnie skonfigurować wirtualny hosta do korzystania z FPM. W ten sposób nie wpłynie to na inne wirtualne hosty.

W tym przykładzie konfiguruję FPM tylko dla określonego wirtualnego hosta. Tak edytowany plik konfiguracyjny w edytorze tekstu:

sudo vim/etc/httpd/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.

ServerAdmin [email protected] DocumentRoot/var/www/html Servername Przykład.com serveralias www.przykład.Com # Deklaracja proxy # Musimy zadeklarować parametr tutaj (nie ma znaczenia, który) lub # Nie zarejestruje proxy z wyprzedzeniem proxyset disablereuse = off # Uwaga: Jeśli skonfigurujesz php-fpm, aby użyć „pm = ondemand „#then Use” Proxyset disablereuse = on "sethandler proxy: fcgi: // php-fpm błąd logi/przykład.Com-error.Zaloguj dzienniki/przykład CustomLog.Com-Access.Log łącznie
12345678910111213141516171819202122232425 ServerAdmin [email protected] DocumentRoot/var/www/html Servername Przykład.com serveralias www.przykład.Com # Deklaracja proxy # Musimy zadeklarować parametr tutaj (nie ma znaczenia, który) lub # Nie zarejestruje proxy przed czasem proxyset disablereuse = off # Użyj „proxyset disablereuse = on” Sethandler Proxy: fcgi: // php-fpm Błądlelog/przykład.Com-error.Zaloguj dzienniki/przykład CustomLog.Com-Access.Log łącznie

Zapisz plik konfiguracyjny wirtualnego hosta i ponownie załaduj Apache, aby zastosować zmiany.

sudo systemctl restart httpd 

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 Apache 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ślnego VirtualHost) dla skonfigurowanej domeny w Apache VirtualHost.

http: // localhost/info.php 

Wniosek

Z powodzeniem skonfigurowałeś Apache z PHP-FPM w systemie CentOS 8 lub RHEL 8 Linux. Możesz teraz hostować stronę internetową ze swojego serwera.