ron*_*ray 6 deployment installation azure orchardcms
专家介绍,
你们有没有成功在Azure中构建和部署Orchard CMS(1.1及以上版本)的人?
我已经尝试按照这里的建议构建源代码(从Codeplex repo中提取):http://www.orchardproject.net/docs/Deploying-Orchard-to-Windows-Azure.ashx但是继续失败.如果您看到该文章的评论,您会看到一些人在使用ClickToBuildAzurePackage.cmd时遇到同样的问题.它总是失败!! 它根本不起作用!
接下来,我下载了源代码包(Orchard.Web.1.2.41.zip)并尝试打开Orchard.Azure解决方案,构建并发布它(配置了远程桌面连接).在发布之前,我还在ServiceConfiguration.cscfg文件中放入了正确的DataConnectionString.它通过以下消息给了我一个黄色的死亡屏幕:
没有使用策略'Autofac.Core.Activators.Reflection.BindingFlagsConstructorFinder'找到的构造函数
接下来,我尝试仅部署Azure包(没有源代码,Orchard.Azure.1.2.41.zip).这一次,我可以得到安装屏幕,但是在安装完成后,它给了我另一个黄色的死亡屏幕,上面有几条错误消息,基本上提醒我对Media,Themes,Modules和其他一些文件夹给予适当的许可...... .如果我甚至无法为Azure设置远程桌面连接,如何如上所述?
我放弃了这一点......我开始认为Orchard CMS(1.1及以上版本)还没有为Azure做好准备.我可以在Azure中运行1.0.2版本并运行(直接部署Azure-ready软件包,我没有构建源代码).
任何人都可以分享他们在这个问题上的经验以及让Orchard CMS(1.1及以上版本)在Azure中顺利运行的分步指南吗?我是否可以知道我们是否也可以在Azure中为Orchard CMS设置2个实例?为实现这一目标,我需要考虑/做些什么?
谢谢!
我没有让 ClickToBuildToAcure.cmd 脚本正常工作,这就是为什么我编写了自己的脚本,Stuart 帮助链接到了该脚本。我的博客http://litemedia.info正在 Azure 上运行,这些博客文章描述了我是如何做到的。
一些提示
与在本地运行相比,我的 Global.asax.cs 在 Azure 上看起来有点不同。
public class AzureApplication : HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
}
protected void Application_Start()
{
CloudStorageAccount.SetConfigurationSettingPublisher(
(configName, configSetter) =>
configSetter(RoleEnvironment.GetConfigurationSettingValue(configName))
);
// For information on handling configuration changes
// see the MSDN topic at http://go.microsoft.com/fwlink/?LinkId=166357.
RoleEnvironment.Changing += (sender, e) =>
{
// If a configuration setting is changing
if (e.Changes.Any(change => change is RoleEnvironmentConfigurationSettingChange))
{
// Set e.Cancel to true to restart this role instance
e.Cancel = true;
}
};
RegisterRoutes(RouteTable.Routes);
Starter.LaunchStartupThread(MvcSingletons);
}
protected void Application_BeginRequest()
{
Context.Items["originalHttpContext"] = Context;
Starter.OnBeginRequest(Context, MvcSingletons);
}
protected void Application_EndRequest()
{
Starter.OnEndRequest();
}
static void MvcSingletons(ContainerBuilder builder)
{
builder.Register(ctx => RouteTable.Routes).SingleInstance();
builder.Register(ctx => ModelBinders.Binders).SingleInstance();
builder.Register(ctx => ViewEngines.Engines).SingleInstance();
}
}
Run Code Online (Sandbox Code Playgroud)我在部署 /App_Data/ 目录中的站点时遇到问题。将包上传到 Azure 时,请确保它是空的。
您需要告诉 Autofac 使用一些 Azure 特定类进行设置和博客存储。您可以在 /Config/Host.config 和 /Config/Sites.config 中找到它们。请访问我上面的博客文章,看看我是如何设置它们的。
我花了几个小时寻找未复制到 Azure 包的程序集。确保所有引用都是“复制本地”,甚至是 MVC3 引用。
请务必确保 ServiceConfiguration.cscfg 中的 DataConnectionString 设置正确。我很长一段时间都在用头撞墙,因为我在那里放置了另一个帐户的连接字符串。
如果您打算从脚本进行部署,则需要设置将用于部署的证书。我使用 Visual Studio 创建证书,然后仅从我的脚本中引用它。
祝你好运!
| 归档时间: |
|
| 查看次数: |
3265 次 |
| 最近记录: |