GNU/Linux >> Tutoriels Linux >  >> Linux

Lancer une ferme Web Windows avec Web Deploy

Introduction

Cet article est destiné aux administrateurs système ayant au moins un niveau de compétence intermédiaire travaillant avec les opérations et l'administration du système d'exploitation Windows Server® 2012.

Vous ne pouvez pas lancer une batterie de serveurs Web Internet Information Services (IIS) à l'aide de Microsoft® Web Farm Framework (WFF) dans IIS8. Microsoft affirme qu'il n'abandonne pas la technologie WFF, mais qu'il n'a pas fourni de solution.

Cependant, cet article vous montre comment utiliser les scripts Web Deploy et PowerShell® pour synchroniser votre contenu Web pendant que vous le gérez à partir d'un seul serveur principal. Ce processus n'est pas aussi rapide ou convivial que WFF, mais il utilise la technologie officielle de Microsoft et conserve votre contenu Web synchronisé.

Préparation

Pour commencer, créez un nouveau compte utilisateur avec le même nom d'utilisateur et mot de passe sur chaque serveur de la batterie. Faire de ce compte un membre desadministrateurs locaux groupe sur chaque serveur. Sur le serveur principal, ajoutez ce compte au Log On As Batch paramètre de sécurité en accédant à AdministrativeTools -> Local Security Policy -> Local Policies -> User Rights Assignment .Cet exercice utilise les informations d'identification suivantes :

Username: SyncMan
Password: P@ss1234

Sur chacun de vos serveurs cloud secondaires, créez une règle de pare-feu Windows pour autoriser TOUT LE TRAFIC du serveur principal.

Sur le serveur principal uniquement, effectuez les actions suivantes :

  • Créez un répertoire commun, tel que C:\WebSync , pour stocker les modèles Web Deploy.

  • Ouvrez une fenêtre PowerShell et exécutez Set-ExecutionPolicy Unrestricted . Lorsque vous y êtes invité, saisissez Y et appuyez sur ENTRÉE.

Pour simplifier vos scripts, modifiez C:\Windows\system32\drivers\etc\Hosts pour inclure une liste pour chaque nœud, faisant correspondre son adresse IP interne à un nom easyhost, tel que WEB2 .

Déploiement Web

Téléchargez Web Deploy depuis IIS et installez-le sur chaque serveur de la batterie.

Scripts

Utilisez les étapes suivantes pour créer deux scripts sur le serveur principal.

Script de lot

Ouvrez un nouveau fichier Bloc-notes et collez le code suivant dans le fichier :

"powershell.exe -command C:\WebSync\WebDeploySync.ps1"

Enregistrez ce fichier sous C:\WebSync\WDSync.bat .

Script PowerShell

Dans un nouveau fichier Bloc-notes, saisissez les lignes suivantes :

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

Remarque : Le code précédent reflète une configuration à 2 nœuds. Si vous voulez avoir plus de nœuds secondaires, vous devez ajouter un autre New-WDPublishSettings -ComputerName [SecondaryServerName]... ligne pour chaque serveur secondaire et ajoutez un nouveau Sync-WDServer.. ligne qui synchronise le serveur principal avec chaque serveur secondaire suivant.

Enregistrez ce fichier sous C:\WebSync\WebDeploySync.ps1 .

Planifier les scripts

Configurez une tâche planifiée pour exécuter les scripts à un rythme semi-constant afin de vous assurer que votre contenu Web reste synchronisé sur les nœuds. Cette tâche doit être configurée uniquement sur le serveur principal. La tâche doit avoir les caractéristiques suivantes :

  • Utilisez les informations d'identification SyncMan que nous avons spécifiées précédemment.
  • Exécuter même lorsque l'utilisateur n'est pas connecté.
  • Être une tâche quotidienne qui s'exécute toutes les minutes pendant une durée d'un jour pour garantir qu'elle s'exécutera indéfiniment à des intervalles d'une minute.

Utilisez les étapes suivantes pour planifier la tâche :

  1. Pour accéder au Planificateur de tâches, accédez à DÉMARRER -> Outils d'administration -> Planificateur de tâches .

  2. Sélectionnez Bibliothèque du planificateur de tâches dans la colonne de gauche.

  3. Cliquez sur Créer une tâche dans la partie droite Actions volet.

  4. Sur le Général onglet de l'onglet Créer une tâche , saisissez un Nom descriptif pour la tâche, entrez les informations d'identification SyncMan en cliquant sur Modifier l'utilisateur ou le groupe , et sélectionnez Exécuter que l'utilisateur soit connecté ou non dans la liste radiale.Sélectionnez Windows Server 2012 à partir de la Configurer pour liste déroulante.

  5. Sur les déclencheurs onglet de l'onglet Créer une tâche case, cliquez sur Nouveau .

  6. Dans le Nouveau déclencheur case, sélectionnez Quotidien dans la liste radiale, et choisissez une heure de début de 5 ou 10 minutes dans le futur. Définir Répéter tous les à 1 .Dans Paramètres avancés , cochez Répéter la tâche tous les et saisissez 1 minute dans la zone de texte. Laisser pour une durée de défini sur 1 jour . (Remarque :"1minutes" n'est pas une faute de frappe. Assurez-vous de laisser "minutes" au pluriel).

  7. Sur les Actions onglet de l'onglet Créer une tâche case, cliquez sur Nouveau .

  8. Dans Modifier l'action , sélectionnez Démarrer un programme , et dans Programme/script , saisissez C:\WDSync\WDSync.bat . Cliquez sur OK .

  9. Sur les Conditions onglet de l'onglet Créer une tâche case, décochez toutes les cases.

  10. Dans les Paramètres onglet de l'onglet Créer une tâche cochez la case Autoriser l'exécution de la tâche à la demande , et laissez toutes les autres cases à cocher désactivées. Dans le champ Si la tâche est déjà en cours d'exécution, la règle suivante s'applique liste déroulante, sélectionnez Exécuter une nouvelle instance en parallèle .

  11. Cliquez sur OK dans la zone Créer une tâche.

Pour vous assurer que la tâche s'exécute, cliquez sur Activer l'historique de toutes les tâches dans les Actions volet sur le côté droit du planificateur de tâches. Une fois la tâche lancée, vous pouvez la mettre en surbrillance et cliquer sur Historique pour s'assurer qu'il s'exécute régulièrement toutes les minutes, comme illustré dans l'image suivante :

Tests

Une fois le script et la tâche planifiée terminés, vous pouvez tester cela en effectuant une modification sur le serveur principal et en vous assurant que la modification s'affiche dans IIS sur les serveurs secondaires. Vous devriez également pouvoir effectuer une modification sur les serveurs secondaires dans IIS ou dans les répertoires contrôlés par IIS et voir que votre modification sur le serveur principal est écrasée en une minute ou moins.

Conclusion

Cet article vous montre comment implémenter une batterie de serveurs Web dans Windows Server 2012 sans déployer Active Directory et sans avoir à acheter de serveur supplémentaire.


Linux
  1. Comment configurer plusieurs sites Web avec le serveur Web Apache

  2. Utilisation de Wget avec FTP pour télécharger/déplacer des sites Web de manière récursive

  3. Créer des tâches planifiées sur un serveur Windows

  4. Étendre un volume dans Windows Server avec diskpart

  5. Utiliser les états de tâche avec la création d'image de serveur

Sécuriser votre serveur Web Apache avec Mod Security

Comment installer OpenLiteSpeed ​​Web Server avec MariaDB et PHP

Comment évaluer les performances d'un serveur Web avec Apache Bench

Installer MySQL sur Windows Server 2008 R2 et 2012

Connectez-vous à un serveur Linux avec une clé privée SSH sur un client Windows

Développement Web et techniques avancées avec Linux sur Windows (WSL)