生产环境下正则的应用实例(一)

案例分享
公司给小王一个文档test.txt,要求他把该文档中所有的域名,添加到A,B两台windows服务器iis的一个站点下
(需要该服务器做FQ跳转),绑定的原因是:如果A服务器被攻击或者被黑,可以直接绑定域名,解析ip到
    B服务器。所有需要在B服务器上作为一个备份。
分析:正常情况下一个个绑定,添加域名非常耗时耗力,为了减少工作量,可以用以下方法

cat test.txt
www.004xam.com
www.xinaomen7.com
www.xam666666.com
www.xam777777.com
www.77cc.com
www.xinaomen5.com
www.6110666.com
www.17xam.com
www.xam888.com
www.xinaomen01.com
www.xinaomen02.com
www.xinaomen03.com
www.xinaomen04.com
www.xinaomen05.com
www.xinaomen06.com
www.xinaomen07.com
www.xinaomen08.com
......

首先先在A服务器上绑定一个域名www.004xam.com
基本设置----->物理路径---->绑定----->添加----->域名www.004xam.com和004xam.com
停止iis服务
找到A服务器中iis的配置文件
IIS(版本5.1)配置文件全路径为:windowssystem32inetsrvMetaBase.bin
IIS(版本7.0.0.0)配置文件全路径为:windowssystem32inetsrvconfigapplicationHost.config;
由于本人使用的是iis7.0的版本,所以选择下面这个路径,找到一行代码
<binding protocol="http" bindingInformation="*:80:004xam.com" />
<binding protocol="http" bindingInformation="*:80:www.004xam.com" />
只需要将该文档test.txt全部改成配置文件中类似的代码就可以了,使用Notepad++打开test.txt文档
查找替换并用正则表达式输入:www.(.*?).com
输出结果输入:<binding protocol="http" bindingInformation="*:80:$1.com" />
              <binding protocol="http" bindingInformation="*:80:www.$1.com" />

              
.*?这样的字符串代表任意重复的字符
将获得的结果拷贝到applicationHost.config文档中
然后在windows终端输入resetiis重启iis服务


实际生产中在该服务器上的域名会不断添加,然后需要更换服务器重新配置,需要重新整理好域名后
再次进行如上述添加,故可以使用iis共享功能会更方便些
第二步:
将A服务器上的配置全部导入到B服务器中,要求AB服务器配置一样                                        

iis管理器---->共享的配置----->导出配置----->选择导出配置的物理路径------>

设置密码,该密码由md5生成,包含数字,符号,大小写字母组合并且至少8个字符长强密码

------>生成 admininstration.config,applicationhost.conf.configenckey.key共三个文件。

三个文件是我们备份iis7站点配置的信息文件


还原iis7配置信息
将3个文件复制到B服务器中------》打开iis7,-------》共享的配置--------》启用共享配置--------》
物理路径选择你备份的文件所在目录-------》用户名,密码不用填写-------》点击右上方应用----》
输入密码-----》确定重启iis7-------》站点信息还原                           



原文地址:https://www.cnblogs.com/fengzhongzhuzu/p/8716649.html