分享

安全的发布 .NET 应用的改动到产品服务器环境

 轻应用开发 2014-03-12

通常负载均衡器都被配置为访问web站点的某个网页,如果这个网页返回的是HTTP 200,那么这个服务器就是存活的。如果没有返回HTTP 200,那么负载均衡器就认为这台服务器已经挂死,然后就把这台服务器剔除出轮询组了。例如,假设web站点上存在文件alive.txt,这个文件是负载均衡器密切关注的文件。如果这个文件被删除,那么这台服务器就会脱离轮询组了。遇到这种情况,你就可以创建批处理文件来完成服务器脱离负载均衡轮询组的工作,然后等待几秒以确保完成正在运行的请求,接着停止IIS,删除临时性的ASP.NET文件,准备在这台服务器上部署。要做的这些工作如下批处理:


01serverout.bat
02=====================
03Ren alive.txt dead.txt
04typeperf "\ASP.NET Applications(__Total__)\Requests Executing" -sc 30
05iisreset /stop
06rmdir /q /s "C:\WINDOWS\Microsoft.NET\Framework64\v1.1.4322\Temporary ASP.NET Files"
07rmdir /q /s "C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files"
08md "C:\WINDOWS\Microsoft.NET\Framework64\v1.1.4322\Temporary ASP.NET Files"
09md "C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files"
10xcacls "C:\WINDOWS\Microsoft.NET\Framework64\v1.1.4322\Temporary ASP.NET Files" 
11/E /G MYMACHINE\IIS_WPG:F /Q
12xcacls "C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files" 
13/E /G MYMACHINE\IIS_WPG:F /Q

与上面所做的工作类似,你还应该创建一个批处理文件,用它来启动IIS,激活某些网页,然后把这台服务器放回到负载均衡器轮询组里。


1serverin.bat
2============
3SET TINYGET=C:\Program Files (x86)\IIS Resources\TinyGet\tinyget.exe
4iisreset /start"%TINYGET%" -srv:localhost -uri:http://localhost/ -status:200
5ren dead.txt alive.txt
6typeperf "\ASP.NET Applications(__Total__)\Requests Executing" -sc 30

通常总试图自动地完成这样的管理杂务。因为在紧急部署的时候,要做到始终手工正确地完成这些工作是很困难的。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多