zoukankan      html  css  js  c++  java
  • 利用puppet管理配置IIS

    先简单介绍下puppet,puppet是一个基于ruby的开源的运维自动化管理工具,在linux平台应用广泛。它的部署方式为c/s,需要在服务器端和客户端分别安装对应的程序。该工具的支持公司也推出了企业版puppet(10个节点下免费),puppet在2.6版本后开始支持windows客户端,注意服务端还只能安装在linux平台下,你可以点这里下载对应的版本。

    如果你还没用过puppet,可以点这里了解如何安装和配置服务器端和客户端。

    好了,切入正题,puppet管理IIS需要用到一个插件:simondean-iis,详情,在服务端可以通过下面的命令来安装该插件

    puppet module install simondean-iis

    安装完成后在服务端puppet/modules下会多出一个名称为iis的文件夹,该模块会在部署IIS的时候同步到windows客户端。

    现在介绍下simondean-iis,它其实是通过调用appcmd来实现iis配置,看下他的对象和属性:

    iis_apppool:这是建立应用程序池的对象

    iis_site:这是建立站点的对象

    iis_vdir:这是建立虚拟目录的对象

    iis_app:这是建立应出程序的对象

    每个对象的属性可以参看simondean-iis的详情页。

    下面给出简单的示例,我们在服务端的puppet/manifests/目录下建立个iis_example.pp,内容如下

         file {'c:/puppet_iis_demo':
            ensure          => directory,
          }
    
          file {'c:/puppet_iis_demo/default.aspx':
            content         =>
    '<%@ Page Language="C#" %>
    <!DOCTYPE html>
    <html>
    <head>
        <title>Managed by Puppet</title>
    </head>
    <body>
        <h1>Managed by Puppet</h1>
    
        <strong>Time:</strong> <%= DateTime.UtcNow.ToString("s") + "Z" %>
    </body>
    </html>'
          }
    
          iis_apppool {'PuppetIisDemo':
            ensure                => present,
            managedpipelinemode   => 'Integrated',
            managedruntimeversion => 'v2.0',
          }
    
          iis_site {'PuppetIisDemo':
            ensure          => present,
            bindings        => ["http/*:25999:"],
          }
    
          iis_app {'PuppetIisDemo/':
            ensure          => present,
            applicationpool => 'PuppetIisDemo',
          }
    
          iis_vdir {'PuppetIisDemo/':
            ensure          => present,
            iis_app         => 'PuppetIisDemo/',
            physicalpath    => 'c:puppet_iis_demo'
          }

    pp文件是puppet的配置说明文件,puppet会将这些配置文件分发到相应的客户端,上面的文件创建文成后,我们在manifests/site.pp,文件中增加一行

    import "iis_example.pp"

    这样在puppet客户端同步服务端配置的时候,首先将simondean-iis模块同步下来,如果客户端以前已经同步,第二次将不会再同步,然后获取要应用客户端的配置,在这里即iis_example.pp文件的信息,之后应用这些配置信息。最终你会发现在IIS管理器上网站和应用程序中新增了一个站点puppetiisdemo。上面的配置中各属性跟iis相应的对象是对应的,很好理解,这里需要另外说下,我们在通过GUI界面建立站点的时候,并不需要建立应用程序和虚拟目录,但是这个插件实现上是需要我们单独来配置,也就是iis_vdir绑定到iis_app,iis_app绑定到iis_site.pp。我想在用界面建立站点的时候实际上也是这样的步骤,只是把步骤封装在一个操作里了。

  • 相关阅读:
    POJ 3253 Fence Repair
    POJ 2431 Expedition
    NYOJ 269 VF
    NYOJ 456 邮票分你一半
    划分数问题 DP
    HDU 1253 胜利大逃亡
    NYOJ 294 Bot Trust
    NYOJ 36 最长公共子序列
    HDU 1555 How many days?
    01背包 (大数据)
  • 原文地址:https://www.cnblogs.com/waiwofei/p/3678173.html
Copyright © 2011-2022 走看看