Hoe Nginx voor PHP-pagina te configureren

In dit artikel hebben we laten zien hoe u de Nginx voor PHP-pagina op CentOS kunt configureren.

Voor deze tutorial hebben we NGINX geïnstalleerd. Deze tutorial behandelt de basisconfiguratie van de NGINX-webserver om de PHP-toepassing te verwerken en deze op poort 80 te serveren. Het wordt aanbevolen om NGINX en PHP-FPM te bestuderen.

Vereisten

  • Toegewijde of cloudserver waarop CentOS is geïnstalleerd.
  • NGINX geïnstalleerd op CentOS.
  • PHP geïnstalleerd.
  • SSH als root-gebruiker (Je kunt een normale gebruiker met sudoer-rechten gebruiken, gebruik 'sudo' bij elk commando).

Hier zijn de artikelen voor de installatie van de Nginx en de installatie van de PHP .

Nadat u beide hebt geïnstalleerd, opent u het hoofdconfiguratiebestand van PHP-fpm:

# vi /etc/php.ini

We zijn op zoek naar de parameter die cgi.fix_pathinfo instelt . We zullen geen commentaar krijgen door puntkomma (;) te verwijderen en op 0 te zetten.

Dit is een extreem onveilige instelling omdat het PHP vertelt om te proberen het dichtstbijzijnde bestand uit te voeren dat het kan vinden als een PHP-bestand niet exact overeenkomt. Dit zou gebruikers in feite in staat stellen om PHP-verzoeken te maken op een manier die hen in staat zou stellen om scripts uit te voeren die ze niet zouden mogen uitvoeren.

Dus we zullen beide voorwaarden veranderen door de regel te verwijderen en deze als volgt op "0" in te stellen:

cgi.fix_pathinfo=0

Als je klaar bent, sla je op en sluit je af.

Start vervolgens de php-fpm-service opnieuw:

# systemctl restart php-fpm

Configureer Nginx-serverblok om PHP-processor te gebruiken

# vi /etc/nginx/sites-available/default

opmerking: de bestandsnaam van het serverblok kan anders zijn zoals hierboven weergegeven.

Het standaard serverblok van de Ngnix kan er als volgt uitzien:

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

root /usr/share/nginx/html;
index index.html index.htm;

server_name localhost;

location / {
try_files $uri $uri/ =404;
}
}

  • Hier moeten we een index.php index-instructie toevoegen om PHP-bestanden te laten serveren wanneer een directory wordt opgevraagd.
  • Wijzig de server_name-instructie. Vervang localhost door uw FQDN-domeinnaam of openbare IP-adres.
  • Voeg een try_files-instructie toe om ervoor te zorgen dat Nginx geen slechte verzoeken doorgeeft aan onze PHP-processor.

Het serverblok ziet er als volgt uit:

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

root /usr/share/nginx/html;
index index.php index.html index.htm;

server_name server_domain_name_or_IP;

location / {
try_files $uri $uri/ =404;
}

error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}

location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

Configureer zoals bovenstaande wijzigingen, sla nu op en verlaat het bestand.

Start Ngnix opnieuw om de nodige wijzigingen aan te brengen:

# systemctl restart nginx

Maak nu een PHP-testbestand:

# vi /usr/share/nginx/html/info.php

Voeg geldige PHP-code toe die geformatteerde informatie over onze server retourneert:

<>
phpinfo();
?>

Opslaan en afsluiten.

Dat is het, we hebben de vereiste configuratie en aanpassingen gedaan.

Laten we tot slot het info.php-bestand openen dat we eerder hebben gemaakt:

https://server_domain_name_or_IP/info.php

U zou een webpagina moeten zien die is gegenereerd door PHP met informatie over uw server.

Als je een door PHP gegenereerde PHP-informatiepagina ziet, heb je de PHP-verwerking met Nginx met succes ingesteld.

Verwijder voorlopig het bestand door te typen:

sudo rm /usr/share/nginx/html/info.php

In dit artikel hebben we gezien hoe onze support engineers Nginx configureren voor de PHP-pagina.


Hoe u de sorteerfout utf8mb4_0900_ai_ci kunt oplossen bij het importeren van de WordPress-database

Hoe u de sorteerfout utf8mb4_0900_ai_ci kunt oplossen bij het importeren van de WordPress-database

Als u uw WordPress-installatie overschakelt van een MySQL 8-server naar MySQL 5.7 (of lager), zult u hoogstwaarschijnlijk

Klassieke editor instellen als de standaardeditor in WordPress in plaats van Gutenberg

Klassieke editor instellen als de standaardeditor in WordPress in plaats van Gutenberg

De Gutenberg-editor wordt binnenkort de standaardeditor in WordPress. Je hebt de mogelijkheid om de klassieke editor te selecteren

Mapitems vernieuwen in Windows 11

Mapitems vernieuwen in Windows 11

Nu de optie Vernieuwen in het contextmenu ontbreekt, kunt u als volgt items vernieuwen in Verkenner op Windows 11.

Hoe WordPress 5.0-problemen op te lossen

Hoe WordPress 5.0-problemen op te lossen

De WordPress 5.0 wordt eindelijk uitgerold en brengt een geheel nieuwe bewerkingservaring met de Gutenberg

Hoe Block Editor uit te schakelen en Classic Editor te installeren in WordPress 5.0

Hoe Block Editor uit te schakelen en Classic Editor te installeren in WordPress 5.0

Vanaf WordPress 5.0 is de standaardeditor op WordPress de nieuwe Block-editor. De nieuwe editor is radicaal anders

🔧 FIX: uw PHP-installatie lijkt de MySQL-extensie te missen die wordt vereist door WordPress

🔧 FIX: uw PHP-installatie lijkt de MySQL-extensie te missen die wordt vereist door WordPress

Op zoek naar een zelfbeheerde WordPress-site? Super goed. Je zult een ontelbaar aantal dingen leren. Een van de cruciale onderdelen van de instelling

FIX: De editor is een onverwachte fout tegengekomen in WordPress na update

FIX: De editor is een onverwachte fout tegengekomen in WordPress na update

Kunt u geen nieuw bericht schrijven met de nieuwe Block Editor in WordPress? De kans is groot dat je "De redacteur" krijgt

Hoe korte PHP-tags in te schakelen

Hoe korte PHP-tags in te schakelen

In dit artikel hebben we besproken hoe u korte PHP-tags kunt inschakelen. PHP ontleedt het bestand met behulp van openings- en sluitingstags, die eruitzien als . Korte PHP-tags inschakelen

Configureer mod_evasive om DoS- en DDoS-aanvallen op CentOS te voorkomen

Configureer mod_evasive om DoS- en DDoS-aanvallen op CentOS te voorkomen

In dit artikel leren we hoe je mod_evasive installeert en configureert om DoS- en DDoS-aanvallen op CentOS te voorkomen. De mod_evasive Apache-module.

Hoe PHP te installeren met PHP-FPM voor NGINX op CentOS

Hoe PHP te installeren met PHP-FPM voor NGINX op CentOS

hoe PHP te installeren met PHP-FPM voor NGINX op CentOS. De basisconfiguratie van de NGINX-webserver om de PHP-applicatie te verwerken en te serveren op poort 80.