Cómo utilizar FastCGI para alojar aplicaciones PHP en IIS 7 »Wiki Ùtil Hosting mas barato

El componente FastCGI en IIS permite que las estructuras de aplicaciones populares que admiten el sistema FastCGI se alojen en el servidor web de IIS, lo que las hace funcionar mejor y de manera más confiable.
FastCGI proporciona una opción altamente funcional para la Common Gateway Interface (CGI) ampliamente utilizada, que es un método típico para conectar aplicaciones externas a servidores web, que es una de las características de IIS que se han admitido desde su lanzamiento por primera vez.
Los programas CGI son archivos compartidos por el servidor web para procesar la consulta y crear respuestas inestables que se devuelven al usuario.
Debido a que muchas de estas estructuras no admiten la ejecución de subprocesos múltiples, CGI les permite ejecutarse correctamente en IIS procesando solo una solicitud a la vez.
Desafortunadamente, su rendimiento es deficiente debido al alto costo de configurar y cerrar un procedimiento para cada consulta que envía.
FastCGI supera los problemas de funcionalidad que son comunes en CGI al proporcionar un mecanismo para procesar un procedimiento repetidamente para muchas consultas.
FastCGI también ayuda a mantener el soporte con bibliotecas no seguras para subprocesos al ofrecer un conjunto de procedimientos reutilizables y garantizar que cada uno de los procedimientos solo administre una solicitud a la vez.
Este artículo explica cómo configurar el elemento FastCGI y PHP para alojar aplicaciones PHP en IIS 7 y superior. Aprenderá a instalar y utilizar el módulo FastCGI en Windows Server 2008 y Windows Vista SP1. Se requiere SP1 en Windows Vista.
Para hacer esto, abra el Administrador del servidor, navegue hasta Roles y desde allí busque Insertar servicios de rol. En la página Seleccionar servicios de función, seleccione la casilla de verificación CGI. Los servicios CGI y FastCGI están activados.
Abra el Panel de control -> Programas y funciones -> Activar / desactivar funciones de Windows. En la pantalla Características de Windows, seleccione la casilla de verificación CGI. Los servicios CGI y FastCGI están activados.
La actualización para el módulo IIS FastCGI corrige algunos problemas de compatibilidad identificados con aplicaciones PHP famosas. Instale la actualización desde una de las siguientes ubicaciones:
Tenga en cuenta que esto no es obligatorio. El Paquete de administración de IIS tiene una interfaz de usuario conveniente para configurar los ajustes de FastCGI. El Paquete de administración se puede instalar desde las siguientes ubicaciones:
Usar la compilación PHP sin subprocesos con IIS FastCGI es mejor, ya que ofrece mejoras de rendimiento notables sobre la estructura normal al omitir cualquier prueba de seguridad de subprocesos que sea innecesaria, ya que FastCGI garantiza una configuración de implementación de un solo subproceso.
Para configurar PHP:
PASO A: Descargue el último paquete zip no seguro para subprocesos con binarios de PHP: http://www.php.net/downloads.php.
PASO B: Descargue los archivos en cualquier directorio (por ejemplo, C: PHP). Cambie el nombre de archivo recomendado por php.ini a php.ini.
EP-C: abrir php.ini file
. Luego, descomente la configuración de la siguiente manera:
fastcgi.impersonate = 1. FastCGI
en IIS admite la capacidad de suplantar el token de seguridad del cliente que llama. Esto permite que IIS describa el marco de seguridad bajo el cual se ejecuta la consulta.cgi.fix_pathinfo=1. Cgi.fix_pathinfo gives *real* PATH_INFO/PATH_TRANSLATED support
a CGI. El rendimiento de PHP debe detenerse antes PATH_TRANSLATED to SCRIPT_FILENAME
, y no ser definido PATH_INFO
. Para obtener más información sobre PATH_INFO, consulte las especificaciones de cgi. Si establece este valor en 1, PHP CGI hará que sus rutas se corrijan para cumplir con las especificaciones.cgi.force_redirect = 0
.open_basedir
para especificar la carpeta donde se encuentra el contenido del sitio web.extension_dir
para indicar la ubicación donde se encuentran las extensiones PHP. Normalmente, el valor de PHP 5.2.X se habría establecido en extension_dir = "./ext"
extension=php_mssql.dll extension=php_mysql.dll
Ingrese un comando, luego ejecute el siguiente comando para confirmar que la instalación de PHP fue exitosa:
C:PHP>php -info
Una vez que PHP se haya instalado correctamente y todos sus requisitos estén en su lugar en el dispositivo, este comando generará la información de configuración de PHP existente.
Para que el servicio de información de Internet pueda alojar aplicaciones PHP, es necesario insertar una asignación de controlador que notifique a IIS que reenvíe todas las consultas específicas de PHP a la estructura de la aplicación PHP utilizando el protocolo FastCGI.
PASO A: Inicie el administrador de IIS. Haga doble clic en Asignaciones de controladores de nivel de servidor.
PASO B: En la ventana Acciones, toque Agregar asignación de módulo. En una nueva ventana, ingrese los siguientes ajustes de configuración:
*.php
FastCgiModule
"C:[Path
a su instalación de PHP]php-cgi.exe “PHP via FastCGI
PASO D: Haga clic en Sí en la ventana de verificación Agregar asociación de módulo que indica si desea crear una aplicación FastCGI para el ejecutable.
PASOS: Verifique que el mapeo del controlador esté funcionando correctamente mediante a. para generar phpinfo.php file
haciendo C:inetpubwwwroot folder
con el siguiente código:
<?php phpinfo(); ?>
PASO F: Inicie el navegador y vaya a http://localhost/phpinfo.php.
Siempre que todo esté configurado correctamente, debería ver la página de información normal de PHP.
Si FastCgiModuledoes
no aparecen en la lista de módulos, el módulo no está registrado o activado. Para probar si el módulo FastCGI está registrado / activado, abra el archivo de configuración de IIS en %windir%windowssystem32configapplicationHost.config
y asegúrese de que la línea de abajo en el <globalModules>
Sección:
<add name="FastCgiModule" image="%windir%System32inetsrviisfcgi.dll" /> Also in that file, see that FastCGI module is included to <modules> section: XMLCopy <add name="FastCgiModule" />
Por otro lado, puede realizar los pasos anteriores utilizando la herramienta de línea de comandos A ppCmd.
PASO A: Cree un grupo de procedimientos de aplicación FastCGI ingresando el siguiente comando:
C:>%windir%system32inetsrvappcmd set config /section:system.webServer/fastCGI /+[fullPath="c:{php_folder}php-cgi.exe"]
PASO B: Cree un mapa de manejadores ingresando el siguiente comando:
C:>%windir%system32inetsrvappcmd set config /section:system.webServer/handlers /+[name="PHP_via_FastCGI",path="*.php",verb='*',modules="FastCgiModule",scriptProcessor="c:{php_folder}php-cgi.exe",resourceType="Unspecified"]
FastCGI aborda los problemas de rendimiento que son intrínsecos a CGI al permitir que un dispositivo reutilice repetidamente un solo proceso para una gran cantidad de solicitudes. Además, FastCGI mantiene la compatibilidad con bibliotecas no protegidas por subprocesos al proporcionar un grupo de procesos reutilizables y garantizar que cada proceso solo maneje una solicitud a la vez. Si está usando PHP versión 4.X, puede usar php.exe en lugar de php-cgi.exe.