Jak zainstalować Apache z PHP-FPM na CentOS 8
- 2371
- 238
- Ignacy Modzelewski
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 = dynamika1234567891011 | ; 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 łącznie12345678910111213141516171819202122232425 |
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.