GNU/Linux >> Tutoriales Linux >  >> Linux

Inicie una granja web de Windows con Web Deploy

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

Nota: El código anterior refleja una configuración de 2 nodos. Si desea tener más nodos secundarios, debe agregar otro 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:

  1. Para acceder al Programador de tareas, vaya a INICIO -> Herramientas administrativas -> Programador de tareas .

  2. Seleccione Biblioteca del programador de tareas en la columna de la izquierda.

  3. Haga clic en Crear tarea en el lado derecho Acciones panel.

  4. 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.

  5. Sobre los desencadenantes pestaña de Crear tarea cuadro, haga clic en Nuevo .

  6. 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).

  7. Sobre las Acciones pestaña de Crear tarea cuadro, haga clic en Nuevo .

  8. En Editar acción , seleccione Iniciar un programa y en Programa/script ,ingrese C:\WDSync\WDSync.bat . Haz clic en Aceptar .

  9. Sobre las Condiciones pestaña de Crear tarea casilla, desmarque todas las casillas.

  10. 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 .

  11. 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.


Linux
  1. Cómo configurar varios sitios web con el servidor web Apache

  2. Uso de Wget con FTP para descargar/mover sitios web de forma recursiva

  3. Uso de Ansible para interactuar con puntos finales web

  4. Extienda un volumen en Windows Server con diskpart

  5. Evite problemas con los reinicios del servidor de Windows

Protección de su servidor web Apache con Mod Security

Cómo instalar el servidor web OpenLiteSpeed ​​con MariaDB y PHP

Cómo comparar el rendimiento del servidor web con Apache Bench

Instale MySQL en Windows Server 2008 R2 y 2012

Inicie sesión en un servidor Linux con una clave privada SSH en un cliente de Windows

Desarrollo Web y Técnicas Avanzadas con Linux sobre Windows (WSL)