Cómo configurar el módulo Fastcgi y PHP para alojar aplicaciones PHP en IIS 7 y superior

En este artículo, aprenderá los medios para configurar el elemento FastCGI y también cómo puede configurar PHP para permitir que aloje todas las aplicaciones de PHP en el servidor web IIS 7 y versiones recientes.


En la plataforma IIS, el elemento FastCGI permite habilitar los marcos de aplicaciones ampliamente utilizados que al mismo tiempo ofrecen soporte para los elementos FastCGI y hace posible que los elementos se alojen de una manera confiable y de alto rendimiento en el servidor web del IIS FastCGI prevé un intercambio con la Interfaz de puerta de enlace común (Common Gateway Interface, CGI), que es un medio de primera clase para interconectar aplicaciones externas con esos servidores web, que ha sido una característica compatible con IIS desde la primera vez que se lanzó.

Los programas CGI son archivos que pueden ejecutarse y en la mayoría de los casos; los servidores web los inician para cada solicitud que define el procesamiento de la solicitud y la generación de respuestas especiales que luego serían devueltas a ese usuario. Debido al hecho de que muchos de estos marcos no admiten la ejecución de subprocesos múltiples, el CGI los ayudaría a ejecutar de manera confiable en la plataforma IIS mediante la ejecución exacta de una sola solicitud para cada proceso. Debido al gasto que implica iniciar y también cerrar un solo proceso para cada consulta, produce un resultado muy pobre..

Al prever un medio por el cual un proceso se utiliza una y otra vez para manejar muchas solicitudes, FastCGI resuelve todos los problemas relacionados con el rendimiento que son comunes con CGI. Al hacer provisiones para un conjunto de procesos que se pueden usar nuevamente, y al asegurarse de que solo una solicitud sea manejada por un proceso a la vez, FastCGI mantiene la compatibilidad junto con aquellas bibliotecas que no son seguras para subprocesos.

Aislamiento de seguridad para sitios web PHP

Todas las recomendaciones de IIS para aislar la seguridad general son consistentes con las recomendaciones utilizadas para aislar sitios web que admiten PHP en un entorno que se puede compartir para el alojamiento. La recomendación para aislar sitios web PHP en un entorno de alojamiento compartido es coherente. Por lo tanto, las recomendaciones a continuación:

  • Asegúrese de utilizar un único grupo de aplicaciones para un solo sitio web.
  • Asegúrese de que para el grupo de aplicaciones, utilice una cuenta de usuario dedicada
  • Para hacer uso de la identidad del grupo de aplicaciones, configure una identidad de usuario que sea anónima.
  • Asegúrese de habilitar FastCGI Impersonation en el archivo de php.ini así: (fastcgi.impersonate = 1)

Comportamiento de reciclaje de procesos PHP

Asegúrese de que antes de comenzar el reciclaje para el PHP nativo, FastCGI ya ha reciclado los procesos de php-cgi.exe. Los comportamientos de reciclaje del sistema FastCGI están regulados por los atributos de configuración de “instanceMaxRequests”. Ahora esa propiedad en particular hace especificaciones de la cantidad de consultas que FastCGI puede gestionar antes de reciclar.

Además, PHP tiene un sistema relacionado de función de reciclaje regulado por el entorno PHP_FCGI_MAX_REQUESTS. Al asegurarse de que la instancia MaxRequests tiene una configuración igual o menor que PHP_FCGI_MAX_REQUESTS, puede estar seguro de que la lógica de reciclaje para el PHP nativo nunca se activará.

Para configurar los ajustes de FastCGI, puede utilizar el AppCmd herramienta de línea de comandos o el Administrador de IIS.

A: Cómo usar el Administrador de IIS para configurar los ajustes de reciclaje de FastCGI

Paso 1: Seleccione Configuración FastCGI

Asegúrese de haber instalado el paquete de administración de IIS en el servidor que posee y haga clic en el Administrador de IIS para abrirlo. Luego haga clic dos veces en la Configuración FastCGI en el nivel del servidor.

Paso 2: selecciona la opción Editar

Elija la aplicación FastCGI particular que desea configurar y luego seleccione el panel etiquetado como “Acción” y elija la opción de edición.

Paso 3: Configure las “InstanceMaxRequests"

En el Editar aplicación FastCGI caja de diálogo, integre 10000 como InstanceMaxRequestssetup y elija la pestaña etiquetada “Examinar” ubicada cerca de la configuración de EnvironmentVariables.

Paso 4: Agregar entorno

Para el Editor de la Colección EnvironmentVariables, cuadro de diálogo integrar el "PHP_FCGI_MAX_REQUESTS"variable de entorno y seleccione 10000 su valor.

Esto es esencial porque si no configura la configuración, el sistema aplicará automáticamente la configuración predeterminada a continuación:

Para theinstanceMaxRequests = "200"

Para el PHP_FCGI_MAX_REQUESTS = “500” (utilizado principalmente en configuraciones PHP).

Cómo configurar ajustes de reciclaje FastCGI mediante la línea de comando

Para configurar los comportamientos de reciclaje de PHP y FastCGI, utilice el AppCmd con el uso de los siguientes comandos:

consoleCopy

C:>% windir% system32inetsrvappcmd set config -section: system.webServer / fastCgi /[fullPath=’c:{php_folder}php-cgi.exe’font>.instanceMaxRequests:10000

C:>% windir% system32inetsrvappcmd.exe establece config -section: system.webServer / fastCgi /+"[fullPath = ‘C: {php_folder} php-cgi.exe’]. environmentVariables. [name = ‘PHP_FCGI_MAX_REQUESTS’, value = ‘10000’]"

Habilitar versiones de PHP

La mayoría de las aplicaciones compatibles con PHP dependen de las características o funciones que solo tienen disponibles versiones particulares de PHP. Para que ese servidor en particular aloje estos tipos de aplicaciones, entonces se habilitarán varias versiones de PHP y también tendrían que ejecutarse simultáneamente con él. La ejecución de múltiples versiones de PHP en ese mismo servidor web es totalmente compatible con el controlador para IIS FastCGI.

Un ejemplo es cuándo es cuando tiene planes para integrar PHP 5.2.5, 5.2.1 y 4.4.8, todo como no seguro para subprocesos en el servidor web que posee. Primero debe insertar en el sistema de archivos y en diferentes carpetas, los binarios PHP equivalentes para permitir esa configuración particular. (por ejemplo, C: \ php525 \, C: \ php521 y C: \ php448 \ nts). Y después de eso, debe crear para cada versión, diferentes grupos de procesos para aplicaciones FastCGI.

consoleCopy

C:>% windir% system32inetsrvappcmd set config /section:system.webServer/fastCGI /+[fullPath=’c:php525ntsphp-cgi.exe ‘]

C:>% windir% system32inetsrvappcmd set config /section:system.webServer/fastCGI /+[fullPath=’c:php521php-cgi.exe ‘]

C:>% windir% system32inetsrvappcmd set config /section:system.webServer/fastCGI /+[fullPath=’c:php448php.exe ‘]

En una situación en la que tiene tres sitios web “sitio 1”, “sitio 2” y “sitio 3” y para cada uno de los sitios, se debe utilizar una versión separada de PHP. Luego, puede hacer definiciones de las asignaciones de controladores en cada uno de los sitios para hacer una referencia a un grupo de procesos correspondiente para la aplicación FastCGI.

Tenga cuidado de tener en cuenta que para cada grupo de procesos

para FastCGI, se crea una identidad única combinando propiedades de argumento y fullPath.

C:>% windir% system32inetsrvappcmd set config site1 -section: system.webServer / handlers /+"..[nombre = ‘PHP448_via_FastCGI’, ruta = ‘*. php’, verbo = ‘*’, módulos = ‘FastCgiModule’, scriptProcessor = ‘c: php448php.exe’, resourceType = ‘Either’]

C:>% windir% system32inetsrvappcmd set config site2 -section: system.webServer / handlers /+"..[name = ‘PHP521_via_FastCGI’, ruta = ‘*. php’, verb = ‘*’, modules = ‘FastCgiModule’, scriptProcessor = ‘c: php521php-cgi.exe’, resourceType = ‘Either’]

C:>% windir% system32inetsrvappcmd set config site3 -section: system.webServer / handlers /+"..[name = ‘PHP525nts_via_FastCGI’, ruta = ‘*. php’, verb = ‘*’, modules = ‘FastCgiModule’, scriptProcessor = ‘c: php525ntsphp-cgi.exe’, resourceType = ‘Either’]

Recomendaciones de seguridad de PHP

Para garantizar que al instalar PHP, tenga una seguridad estricta, la configuración a continuación sería de gran ayuda. El primer paso para hacerlo es buscar y hacer clic en el archivo php.ini para abrirlo, y luego editar la configuración para las configuraciones que se enumeran a continuación.

allow_url_fopen = Apagado allow_url_include = Apagado

Esta configuración se usa para deshabilitar las URL remotas que se usan para las funciones de manejo de archivos, lo que puede causar vulnerabilidades en la inyección de código.

register_globals = Off

La configuración se usa para deshabilitar register_globals

open_basedir ="c: inetpub"

La configuración se usa para restringir las áreas que los procesos PHP pueden escribir y leer en un sistema de archivos.

safe_mode = Apagado safe_mode_gid = Apagado
La configuración se usa para deshabilitar el modo seguro.
max_execution_time = 30 max_input_time = 60
La configuración se usa para limitar el tiempo de ejecución del script
memory_limit = 16M upload_max_filesize = 2M post_max_size = 8M max_input_nesting_levels = 64

Esta configuración se utiliza para limitar el uso de la memoria y el tamaño de los archivos.

display_errors = Off log_errors = On error_log ="C: pathofyourchoice"

Esta configuración se usa para configurar el registro y los mensajes de error

fastcgi.logging = 0

Esta configuración haría que el módulo IIS FastCGI falle cualquier solicitud cuando PHP envía datos en stderr mediante el uso del protocolo de FastCGI. También deshabilita el registro FastCGI, evitando que PHP pueda enviar información de error a través de stderr y pueda generar 500 códigos de respuesta para el cliente.

expose_php = Desactivado

Esta configuración se usa para ocultar la presencia de PHP.

Conclusión

Ahí lo tiene, todos los consejos y pasos que lo ayudarán a configurar el módulo Fastcgi y PHP para alojar aplicaciones PHP en IIS 7 y superiores. Debería poder realizar la acción si ha seguido los pasos de este artículo hasta el final. Sin embargo, si te llenan de existencias a lo largo de la línea, no dudes en dejar un comentario para obtener ayuda del miembro de la comunidad.

Echa un vistazo a estos 3 mejores servicios de alojamiento web

FastComet

Precio inicial:
$ 2.95


Fiabilidad
9,7


Precios
9.5


Fácil de usar
9,7


Apoyo
9,7


Caracteristicas
9.6

Leer comentarios

Visita FastComet

Alojamiento A2

Precio inicial:
$ 3.92


Fiabilidad
9.3


Precios
9.0


Fácil de usar
9.3


Apoyo
9.3


Caracteristicas
9.3

Leer comentarios

Visita A2 Hosting

ChemiCloud

Precio inicial:
$ 2.76


Fiabilidad
10


Precios
9,9


Fácil de usar
9,9


Apoyo
10


Caracteristicas
9,9

Leer comentarios

Visita ChemiCloud

Artículos de procedimientos relacionados

  • Cómo usar FastCGI para alojar aplicaciones PHP en IIS 7
    intermedio
  • Cómo instalar y configurar MySQL para aplicaciones PHP en Windows IIS 7
    intermedio
  • Cómo instalar MySQL en un servidor web de Windows con Apache
    novato
  • Cómo instalar PHP Composer en un CentOS 7 VPS o servidor dedicado
    intermedio
  • Cómo cerrar sesión en todos los usuarios de WordPress a la vez
    intermedio
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me