Sådan konfigureres PHP-FPM med NGINX

Sådan konfigureres PHP-FPM med NGINX

Introduktion

PHP-FPM (FastCGI Process Manager) er en højtydende FastCGI-processor til PHP, der giver forbedret ydeevne, stabilitet og funktionalitet sammenlignet med den standard Apache-modulmodel. Når PHP-FPM bruges sammen med NGINX, en letvægts, højtydende webserver, kan du nyde godt af fordelene ved begge teknologier og opnå optimal ydeevne for dine PHP-baserede webapplikationer.

Denne artikel vil guide dig gennem den trinvise proces med at konfigurere PHP-FPM med NGINX på dit Linux-system. Vi vil dække installationen af begge komponenter, konfigurationen af NGINX til at bruge PHP-FPM og finjustering af indstillingerne for at optimere ydeevnen.

Konfiguration af PHP-FPM

1. Installer PHP-FPM

Først skal du installere PHP-FPM på dit system. Kommandoerne til installation varierer afhængigt af dit operativsystem:

* Ubuntu/Debian:

dk
sudo apt-get install php7.4-fpm

* CentOS/Red Hat:

dk
sudo yum install php74-fpm

2. Konfigurer PHP-FPM

Når PHP-FPM er installeret, skal du redigere konfigurationsfilen for at tilpasse indstillingerne. Afhængigt af dit system kan konfigurationsfilen være placeret på følgende steder:

* Ubuntu/Debian: /etc/php/7.4/fpm/php-fpm.conf
* CentOS/Red Hat: /etc/php-fpm.conf

Find afsnittet “global” i konfigurationsfilen, og tilpas følgende indstillinger:

dk
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

Disse indstillinger angiver den type procesmanager, det maksimale antal arbejdsprocesser og de minimums- og maksimumsspareprocesser, der skal opretholdes. Du kan justere disse værdier baseret på dit systems belastning og krav.

Konfiguration af NGINX

1. Installer NGINX

Installer NGINX på dit system ved hjælp af følgende kommandoer:

* Ubuntu/Debian:

dk
sudo apt-get install nginx

* CentOS/Red Hat:

dk
sudo yum install nginx

2. Konfigurer NGINX

Rediger NGINX-konfigurationsfilen /etc/nginx/sites-available/default og tilføj følgende afsnit:

dk
location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}

Dette afsnit konfigurerer NGINX til at proxyserverforespørgsler til PHP-FPM via UNIX-socketten /run/php/php7.4-fpm.sock. Du skal muligvis justere stien til socketten baseret på din systemkonfiguration.

3. Test konfigurationen

Genstart både NGINX og PHP-FPM for at indlæse de nye konfigurationsændringer:

* NGINX:

dk
sudo systemctl restart nginx

* PHP-FPM:

dk
sudo systemctl restart php7.4-fpm

Test din konfiguration ved at besøge en PHP-side på din webserver. Du burde se det forventede output, hvilket indikerer, at PHP-FPM er konfigureret korrekt med NGINX.

Finjustering af ydeevnen

Når PHP-FPM og NGINX er konfigureret, kan du finjustere indstillingerne for at optimere ydeevnen yderligere:

* Juster antallet af arbejdsprocesser: Eksperimenter med forskellige værdier for pm.max_children og pm.min_spare_servers for at finde den optimale balance mellem ydeevne og hukommelsesforbrug.
* Juster bufferstørrelser: Konfigurer indstillingerne php_value max_execution_time og php_value memory_limit i NGINX-konfigurationen for at øge grænserne for PHP-scriptkørselstid og hukommelsesbrug.
* Aktiver opcache: Aktiver PHP-opcachen ved at installere php7.4-opcache-pakken og tilføje zend_extension=opcache.so til din php.ini-fil.
* Brug en PHP-accelerator: Overvej at bruge en PHP-accelerator som APC eller XCache for at forbedre ydeevnen ved at cache kompilerede PHP-scripts.

Konklusion

Ved at konfigurere PHP-FPM med NGINX kan du opnå forbedret ydeevne, stabilitet og funktionalitet for dine PHP-baserede webapplikationer. Ved at følge trinene beskrevet i denne artikel og finjustere konfigurationen baseret på dine specifikke krav, kan du optimere din webserversydelse og give dine brugere en hurtig og responsiv oplevelse.

Ofte stillede spørgsmål (FAQs)

1. Hvad er fordelen ved at bruge PHP-FPM med NGINX?
Svar: PHP-FPM giver forbedret ydeevne, stabilitet og funktionalitet sammenlignet med Apache-modulen, mens NGINX er en letvægts, højtydende webserver. Kombinationen af disse to teknologier giver optimal ydeevne for PHP-applikationer.

2. Hvilken socket vil PHP-FPM lytte til?
Svar: PHP-FPM vil lytte til UNIX-socketten, som angivet i konfigurationen, som typisk er /run/php/php7.4-fpm.sock.

3. Hvordan konfigurerer jeg NGINX til at bruge PHP-FPM?
Svar: I NGINX-konfigurationsfilen skal du tilføje et “location”-afsnit, der matcher PHP-filer og proxyserverforespørgsler til PHP-FPM via UNIX-socketten.

4. Hvilke indstillinger skal jeg justere for at optimere PHP-FPM-ydeevnen?
Svar: Du kan justere antallet af arbejdsprocesser, bufferstørrelser og aktivere opcache eller PHP-acceleratorer for at optimere ydeevnen.

5. Hvordan tester jeg, om min konfiguration er korrekt?
Svar: Besøg en PHP-side på din webserver, og kontroller, at du ser det forventede output, hvilket indikerer, at PHP-FPM fungerer korrekt med NGINX.

6. Hvorfor er det vigtigt at konfigurere PHP-FPM korrekt?
Svar: Korrekt konfiguration af PHP-FPM sikrer optimal ydeevne, stabilitet og håndtering af samtidige anmodninger for dine PHP-applikationer.

7. Hvilke ressourcer anbefales til yderligere læring om PHP-FPM og NGINX?
Svar: PHP-FPM: https://www.php.net/manual/en/install.fpm.php
NGINX: https://www.nginx.com/resources/wiki/

8. Hvor kan jeg finde yderligere support til konfiguration af PHP-FPM med NGINX?
Svar: Du kan søge i fora, dokumentation og online-fællesskaber for PHP-FPM, NGINX og Linux-konfiguration for at få hjælp og støtte.