Cómo configurar Nginx para la página PHP

En este artículo, hemos mostrado cómo configurar Nginx para la página PHP en CentOS.

Para este tutorial, hemos instalado NGINX. Este tutorial cubrirá la configuración básica del servidor web NGINX para procesar la aplicación PHP y el servidor en el puerto 80. Se recomienda que estudie NGINX y PHP-FPM.

Prerrequisitos

  • Servidor dedicado o en la nube con CentOS instalado.
  • NGINX instalado en CentOS.
  • PHP instalado.
  • SSH como usuario root (puede usar un usuario normal con derechos de sudoer, use 'sudo' con cada comando).

Aquí están los artículos para la instalación de Nginx y la instalación de PHP .

Una vez que instale ambos, abra el archivo de configuración principal de PHP-fpm:

# vi /etc/php.ini

Estamos buscando el parámetro que establece cgi.fix_pathinfo . Descomentaremos eliminando el punto y coma (;) y lo estableceremos en 0.

Esta es una configuración extremadamente insegura porque le dice a PHP que intente ejecutar el archivo más cercano que pueda encontrar si un archivo PHP no coincide exactamente. Básicamente, esto permitiría a los usuarios crear solicitudes PHP de una manera que les permitiera ejecutar scripts que no deberían poder ejecutar.

Entonces, cambiaremos estas dos condiciones descomentando la línea y configurándola en "0" de esta manera:

cgi.fix_pathinfo=0

Una vez que lo haya hecho, guarde y salga.

A continuación, reinicie el servicio php-fpm:

# systemctl restart php-fpm

Configurar el bloque del servidor Nginx para usar el procesador PHP

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

nota: el nombre del archivo de bloqueo del servidor puede ser diferente como se muestra arriba.

El bloque de servidor predeterminado de Ngnix podría verse así:

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;
}
}

  • Aquí necesitamos agregar una directiva de índice index.php para permitir que se sirvan archivos PHP cuando se solicita un directorio.
  • Modifique la directiva server_name. Reemplace localhost con su nombre de dominio FQDN o dirección IP pública.
  • Agregue una directiva try_files para asegurarse de que Nginx no pase solicitudes incorrectas a nuestro procesador PHP.

El bloque del servidor se ve así:

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;
}
}

Configure como los cambios anteriores, ahora guarde y salga del archivo.

Reinicie Ngnix para realizar los cambios necesarios:

# systemctl restart nginx

Ahora, cree un archivo de prueba PHP:

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

Agregue un código PHP válido que devuelva información formateada sobre nuestro servidor:

<>
phpinfo();
?>

Guardar y Salir.

Eso es todo, hemos realizado la configuración requerida y las modificaciones.

Finalmente, accedamos al archivo info.php, que hemos creado anteriormente:

https://server_domain_name_or_IP/info.php

Debería ver una página web generada por PHP con información sobre su servidor.

Si ve una página de información de PHP generada por PHP, ha configurado correctamente el procesamiento de PHP con Nginx.

Por ahora, elimine el archivo escribiendo:

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

En este artículo, hemos visto cómo nuestros ingenieros de soporte configuran Nginx para la página PHP.


Cómo solucionar problemas de WordPress 5.0

Cómo solucionar problemas de WordPress 5.0

WordPress 5.0 finalmente se está implementando y trae consigo una nueva experiencia de edición con Gutenberg

Cómo corregir el error de clasificación utf8mb4_0900_ai_ci al importar la base de datos de WordPress

Cómo corregir el error de clasificación utf8mb4_0900_ai_ci al importar la base de datos de WordPress

Si está cambiando su instalación de WordPress de un servidor MySQL 8 a MySQL 5.7 (o inferior), lo más probable es que encuentre

🔧 REVISIÓN: Parece que a su instalación de PHP le falta la extensión MySQL que es requerida por WordPress

🔧 REVISIÓN: Parece que a su instalación de PHP le falta la extensión MySQL que es requerida por WordPress

¿Está buscando ejecutar un sitio de WordPress autogestionado? Excelente. Aprenderás un trillón de cosas. Una de las partes críticas del entorno

Cómo configurar el editor clásico como el editor predeterminado en WordPress en lugar de Gutenberg

Cómo configurar el editor clásico como el editor predeterminado en WordPress en lugar de Gutenberg

El Editor de Gutenberg pronto se convertirá en el editor predeterminado en WordPress. Tendrá la opción de seleccionar el Editor clásico

Cómo actualizar elementos de carpeta en Windows 11

Cómo actualizar elementos de carpeta en Windows 11

Con la opción Actualizar en el menú contextual que falta, así es como puede actualizar elementos en el Explorador de archivos en Windows 11.

REVISIÓN: El editor ha encontrado un error inesperado en WordPress después de la actualización

REVISIÓN: El editor ha encontrado un error inesperado en WordPress después de la actualización

¿No puede escribir una nueva publicación con el nuevo Editor de bloques en WordPress? Lo más probable es que obtenga "El editor

Cómo deshabilitar el editor de bloques e instalar el editor clásico en WordPress 5.0

Cómo deshabilitar el editor de bloques e instalar el editor clásico en WordPress 5.0

A partir de WordPress 5.0, el editor predeterminado en WordPress es el nuevo editor de bloques. El nuevo editor es radicalmente diferente

Cómo habilitar las etiquetas cortas de PHP

Cómo habilitar las etiquetas cortas de PHP

En este artículo, hemos cubierto cómo habilitar las etiquetas cortas de PHP. PHP analiza el archivo usando etiquetas de apertura y cierre, que se parecen a. Para habilitar las etiquetas cortas de PHP

Configurar mod_evasive para prevenir ataques DoS y DDoS en CentOS

Configurar mod_evasive para prevenir ataques DoS y DDoS en CentOS

En este artículo, aprenderemos cómo instalar y configurar mod_evasive para prevenir ataques DoS y DDoS en CentOS. El módulo de Apache mod_evasive.

Cómo instalar PHP con PHP-FPM para NGINX en CentOS

Cómo instalar PHP con PHP-FPM para NGINX en CentOS

cómo instalar PHP con PHP-FPM para NGINX en CentOS. La configuración básica del servidor web NGINX para procesar la aplicación PHP y el servidor en el puerto 80.