MSDeploy 和“维护中的站点”页

发布于 2024-10-14 21:47:59 字数 300 浏览 4 评论 0原文

我是 MSDeploy 和 IIS 管理员的新手。

为了显示“网站正在维护”页面,我们正在寻找两种替代方案。

1)有一个app_Offline.htm页面并在维护开始时将其同步到服务器。

2)使用完全不同的站点创建一个单独的文件夹(它可以显示比 app_offline 页面更多的动态信息)。在维护期间,建议我们在更新站点时更改站点的虚拟文件夹映射以指向另一个文件夹。

有没有办法使用 MSDeploy 将虚拟文件夹更改为指向另一个文件夹?有没有其他方法可以通过脚本来执行此操作,而不必转到每个服务器并手动更改文件夹?

I am new to MSDeploy as well as IIS admin.

In order to show a "site under maintenance" page we are looking at two alternatives.

1) Have an app_Offline.htm page and sync it to the server when maintenance starts.

2) Create a separate folder with a totally different site (which can show a lot more dynamic information than what we can with the app_offline page). During maintenance, it is being suggested that we change the virtual folder mapping of the site to point to this other folder while we work on updating the site.

Is there a way to change the virtual folder to point to another folder using MSDeploy? Is there any other way to do this via a script rather than having to go to each server and manually change the folder ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无可置疑 2024-10-21 21:47:59

使用 MSDeploy 设置 app_offline

我们过去所做的是使用 Msdeploy.exe 编写部署脚本。我们执行 3 个命令。

  1. 第一个命令部署 app_offline.htm 页面。

    msdeploy -verb:sync -source:filePath=c:\location\app_Offline.htm -dest:filePath=c:\site\app_Offline.htm

  2. 其次,我们实际上使用相同的“sync”动词部署站点,但使用包裹。

  3. 第三,我们将使用 MSdeploy 删除 app_offline.htm。

    msdeploy -verb:delete -dest:filePath=c:\site\app_Offline.htm

您可以使用“computername”目标开关跨多个服务器执行 msdeploy。例如:

msdeploy -verb:sync -source:filePath=c:\location\app_Offline.htm,computername=sourcemachine  -dest:filePath=c:\site\app_Offline.htm,computername=destmachine  

您可以在此处找到有关通过命令行使用 msdeploy 的所有不同参数的更多信息:http://technet.microsoft.com/en-us/library/dd568991%28WS.10%29.aspx

使用 MSDeploy 创建虚拟目录

如果您仍然想创建虚拟目录,我建议在每个目标服务器上创建一个 powershell 脚本,为每个服务器执行此操作。您的 powershell 脚本中将包含类似以下内容:

New-Item 'IIS:\Sites\Default Web Site\VirtualDirName' -type VirtualDirectory -physicalPath c:\test\virtualDirectory1

您可以在此处找到有关使用 powershell 的更多信息:
http://learn.iis.net/page.aspx/433/powershell-snap-in-creating-web-sites-web-applications-virtual-directories-and-application-pools/

然后使用 msdeploy 执行“runco​​mmand”提供程序。您将在每个服务器上执行此行。

msdeploy -verb:sync -source:runCommand="net start createvirtualdir.ps" -dest:computername=destmachine

Set app_offline using MSDeploy

What we've done in the past is to script our deployments using Msdeploy.exe. We execute 3 commands.

  1. The first command deploys the app_offline.htm page.

    msdeploy -verb:sync -source:filePath=c:\location\app_Offline.htm -dest:filePath=c:\site\app_Offline.htm

  2. Second we actually deploy the site using that same "sync" verb but using a package.

  3. Third we'll remove the app_offline.htm using MSdeploy.

    msdeploy -verb:delete -dest:filePath=c:\site\app_Offline.htm

You can execute msdeploy across multiple servers using the "computername" destination switch. Like:

msdeploy -verb:sync -source:filePath=c:\location\app_Offline.htm,computername=sourcemachine  -dest:filePath=c:\site\app_Offline.htm,computername=destmachine  

You can find more information about all the different parameters for using msdeploy via command line here: http://technet.microsoft.com/en-us/library/dd568991%28WS.10%29.aspx

Creating a virtual directory using MSDeploy

If you still want to create the virtual directory what I'd suggest is creating a powershell script on each destination sever that would do this for each server. Your powershell script would have something like this in it:

New-Item 'IIS:\Sites\Default Web Site\VirtualDirName' -type VirtualDirectory -physicalPath c:\test\virtualDirectory1

You can find more info about using powershell for this here:
http://learn.iis.net/page.aspx/433/powershell-snap-in-creating-web-sites-web-applications-virtual-directories-and-application-pools/

Then execute using msdeploy utalizing the "runcommand" provider. You would execute this line per server.

msdeploy -verb:sync -source:runCommand="net start createvirtualdir.ps" -dest:computername=destmachine
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文