簡體   English   中英

Azure啟動任務Appcmd配置我的網站

[英]Azure startup task Appcmd to config my site

我有一個蔚藍的網站正在運行,我想解決臭名昭著的應用程序池重新啟動預熱的問題。 似乎MS已發布了用於應用程序初始化IIS的版本。

因此,我必須執行以下操作:1.安裝應用程序初始化。2.進行此處http://learn.iis.net/page.aspx/1089/iis-80-application-initialization/中提到的一些配置更改。

a)在%WINDIR%\\ system32 \\ inetsrv \\ config \\ applicationhost.config文件的“應用程序池”部分中

b)在%WINDIR%\\ system32 \\ inetsrv \\ config \\ applicationhost.config文件的站點部分中……。

我的問題是,如何編寫Appcmd腳本來解決2。b)將preloadEnabled =“ true”添加到正確的位置,因為我需要做1)找到根站點,因為我不知道站點名稱,也不知道網站ID。 2)將preloadEnabled =“ true”屬性添加到在步驟2)中找到的根站點。

結合David的重置空閑超時的答案,您還可以通過將以下內容用作啟動任務來防止應用程序池完全回收:

%windir%\system32\inetsrv\appcmd set config -section:applicationPools -applicationPoolDefaults.recycling.periodicRestart.time:00:00:00

您還需要設置其他兩項: startModepreloadEnabled

對於startMode ,可以將其添加到為上面的代碼創建的啟動任務中:

%windir%\system32\inetsrv\appcmd set config -section:applicationPools -applicationPoolDefaults.startMode:AlwaysRunning

對於preloadEnabled ,您可以執行Alex所說的,並在啟動任務中執行以下操作:

appcmd set app "websitename/vdirname" /preloadEnabled:true

為了避免重新啟動,請將以下命令添加到啟動腳本中:

%windir%\system32\inetsrv\appcmd set config -section:applicationPools -applicationPoolDefaults.processModel.idleTimeout:00:00:00

不確定您的預載問題。

http://blogs.msdn.com/b/tom/archive/2011/02/18/installing-and-using-an-httpmodule-in-windows-azure.aspx中有一個示例。 本質上,您需要將executionContext設置為提升,因此您的Web角色的入口點(而不是ASP.NET應用程序)將在管理員權限下運行。 在入口點內部,您可以使用IIS管理API配置預熱模塊。

如果您希望使用AppCmd啟動任務配置站點/應用程序池,請查看我最近關於此的文章:

http://mvolo.com/configure-iis-websites-windows-azure-startup-tasks-appcmd/

這涵蓋了如何查找要編輯的站點/應用程序池,以及如何在創建站點/應用程序池配置之后而不是之前運行任務。

我們實際上是使用這種方法通過serviceAutoStartProviders啟用應用程序預熱的,我將在稍后的博客中博客介紹我們使用的配置工具/解決的問題。

如果您現在需要幫助,請給我發送電子郵件。

我知道這是一個老問題,但希望能回答這一部分:

如何編寫Appcmd腳本來解決2。b)將preloadEnabled =“ true”添加到正確的位置,因為我需要這樣做

使用appcmd

appcmd set app "websitename/vdirname" /preloadEnabled:true

問候亞歷克斯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM