Introducción
Este artículo está dirigido a administradores de sistemas con al menos un nivel de habilidad intermedio que trabajan con las operaciones y la administración del sistema operativo Windows Server® 2012.
No puede iniciar una granja de servidores web de Internet Information Services (IIS) utilizando Microsoft® Web Farm Framework (WFF) en IIS8. Microsoft dice que no están abandonando la tecnología WFF, pero no han proporcionado una solución.
Sin embargo, este artículo le muestra cómo usar secuencias de comandos de Web Deploy y PowerShell® para mantener su contenido web sincronizado mientras lo administra desde un único servidor principal. tu contenido web sincronizado.
Preparación
Para comenzar, cree una nueva cuenta de usuario con el mismo nombre de usuario y contraseña en cada servidor de la granja. Hacer que esta cuenta sea miembro de los Administradores locales grupo en cada servidor. En el servidor principal, agregue esta cuenta al Log On As Batch
configuración de seguridad navegando a Herramientas administrativas -> Política de seguridad local -> Políticas locales -> Asignación de derechos de usuario .Este ejercicio utiliza las siguientes credenciales:
Username: SyncMan
Password: P@ss1234
En cada uno de sus servidores de nube secundarios, cree una regla de Firewall de Windows para permitir TODO EL TRÁFICO desde el servidor principal.
Solo en el servidor principal, realice las siguientes acciones:
-
Cree un directorio común, como
C:\WebSync
, para almacenar las plantillas de Web Deploy. -
Abra una ventana de PowerShell y ejecute
Set-ExecutionPolicy Unrestricted
. Cuando se le solicite, escriba Y y presione ENTER.
Para simplificar sus scripts, modifique C:\Windows\system32\drivers\etc\Hosts para incluir una lista para cada nodo, haciendo coincidir su dirección IP interna con un nombre de host fácil, como WEB2 .
Despliegue web
Descargue Web Deploy desde IIS e instálelo en cada servidor de la granja.
Guiones
Utilice los siguientes pasos para crear dos scripts en el servidor principal.
Script por lotes
Abra un nuevo archivo de Bloc de notas y pegue el siguiente código en el archivo:
"powershell.exe -command C:\WebSync\WebDeploySync.ps1"
Guarde este archivo como C:\WebSync\WDSync.bat .
secuencia de comandos de PowerShell
En un nuevo archivo de Bloc de notas, ingrese las siguientes líneas:
add-pssnapin wdeploysnapin3.0
New-WDPublishSettings -ComputerName [MasterServerName] -AgentType MSDepSvc -FileName c:\WebSync\[MasterServerName].publishsettings
New-WDPublishSettings -ComputerName [SecondaryServerName] -AgentType MSDepSvc -FileName c:\WebSync\[SecondaryServerName].publishsettings -UserID SyncMan -Password P@ss1234
Sync-WDServer -SourcePublishSettings c:\WebSync\[PrimaryServerName].publishSettings -DestinationPublishSettings c:\WebSync\[SecondaryServerName].publishSettings
New-WDPublishSettings -ComputerName [SecondaryServerName]...
línea para cada servidor secundario y agregue un nuevo Sync-WDServer..
línea que sincroniza el servidor principal con cada servidor secundario subsiguiente.
Guarde este archivo como C:\WebSync\WebDeploySync.ps1 .
Programar los guiones
Configure una tarea programada para ejecutar los scripts a una velocidad semiconstante para asegurarse de que su contenido web permanezca sincronizado en todos los nodos. Esta tarea debe configurarse solo en el servidor principal. La tarea debe tener las siguientes características:
- Utilice las credenciales de SyncMan que especificamos anteriormente.
- Ejecutar incluso cuando el usuario no haya iniciado sesión.
- Sea una tarea diaria que se ejecute cada 1 minuto durante 1 día para garantizar que se ejecutará indefinidamente en intervalos de 1 minuto.
Utilice los siguientes pasos para programar la tarea:
-
Para acceder al Programador de tareas, vaya a INICIO -> Herramientas administrativas -> Programador de tareas .
-
Seleccione Biblioteca del programador de tareas en la columna de la izquierda.
-
Haga clic en Crear tarea en el lado derecho Acciones panel.
-
En el General pestaña de Crear tarea cuadro, ingrese un Nombre descriptivo para la tarea, ingrese las credenciales de SyncMan haciendo clic en Cambiar usuario o grupo y seleccione Ejecutar si el usuario ha iniciado sesión o no de la lista radial. Seleccione Windows Server 2012 desde Configurar para lista desplegable.
-
Sobre los desencadenantes pestaña de Crear tarea cuadro, haga clic en Nuevo .
-
En el Nuevo activador cuadro, seleccione Diariamente de la lista radial y elija una hora de inicio de 5 o 10 minutos en el futuro. Establecer Repetir cada a 1 .En Configuración avanzada , marque Repetir tarea cada e ingresa 1 minuto en el cuadro de texto. Deja por una duración de establecido en 1 día . (Nota:"1minutos" no es un error tipográfico. Asegúrese de dejar "minutos" en plural).
-
Sobre las Acciones pestaña de Crear tarea cuadro, haga clic en Nuevo .
-
En Editar acción , seleccione Iniciar un programa y en Programa/script ,ingrese C:\WDSync\WDSync.bat . Haz clic en Aceptar .
-
Sobre las Condiciones pestaña de Crear tarea casilla, desmarque todas las casillas.
-
En la Configuración pestaña de Crear tarea casilla, marque Permitir que la tarea se ejecute bajo demanda y deje todas las demás casillas de verificación vacías. En Si la tarea ya se está ejecutando, se aplica la siguiente regla lista desplegable, seleccione Ejecutar una nueva instancia en paralelo .
-
Haz clic en Aceptar en el cuadro Crear tarea.
Para asegurarse de que la tarea se ejecute, haga clic en Habilitar el historial de todas las tareas en las Acciones panel en el lado derecho del Programador de tareas. Después de que la tarea comience a ejecutarse, puede resaltarla y hacer clic en Historial. pestaña para asegurarse de que se está ejecutando regularmente cada minuto como se muestra en la siguiente imagen:
Prueba
Una vez completadas la secuencia de comandos y la tarea programada, puede probar esto haciendo un cambio en el servidor principal y asegurándose de que el cambio se muestre dentro de IIS en los servidores secundarios. También debería poder realizar un cambio en los servidores secundarios en IIS o en los directorios controlados por IIS y ver que su cambio en el servidor primario se sobrescribe en un minuto o menos.
Conclusión
Este artículo le muestra cómo implementar una granja web en Windows Server 2012 sin implementar Active Directory y sin tener que comprar un servidor adicional.