惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Darknet – Hacking Tools, Hacker News & Cyber Security
Jina AI
Jina AI
博客园_首页
J
Java Code Geeks
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
Hugging Face - Blog
Hugging Face - Blog
S
SegmentFault 最新的问题
MyScale Blog
MyScale Blog
P
Proofpoint News Feed
L
Lohrmann on Cybersecurity
Forbes - Security
Forbes - Security
大猫的无限游戏
大猫的无限游戏
Vercel News
Vercel News
Y
Y Combinator Blog
Google DeepMind News
Google DeepMind News
The Register - Security
The Register - Security
N
News | PayPal Newsroom
S
Security Archives - TechRepublic
量子位
Cisco Talos Blog
Cisco Talos Blog
V
V2EX
C
Cisco Blogs
The Cloudflare Blog
Stack Overflow Blog
Stack Overflow Blog
L
LangChain Blog
Scott Helme
Scott Helme
S
Securelist
Security Latest
Security Latest
爱范儿
爱范儿
TaoSecurity Blog
TaoSecurity Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
I
Intezer
L
LINUX DO - 最新话题
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
C
Check Point Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
美团技术团队
Know Your Adversary
Know Your Adversary
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
PCI Perspectives
PCI Perspectives
月光博客
月光博客
T
Tailwind CSS Blog
Cloudbric
Cloudbric
小众软件
小众软件
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
K
Kaspersky official blog
D
DataBreaches.Net
博客园 - 【当耐特】
有赞技术团队
有赞技术团队

博客园 - 二十四画生

Orchard 1.3新功能之——规则(Rules) Orchard 1.3新功能之——Markdown编辑器 Orchard 1.3 发布了! Orchard中的计划任务功能(Schedule) Orchard网站App_Data目录里的文件介绍 在Orchard中使用样式及脚本 Orchard中的多语言功能 Orchard中的列表功能 Orchard中的用户、角色及权限 自定义Orchard站点辅助工具——Shape Tracing Orchard中的形状候补(Alternates) Orchard是如何呈现内容的 理解Orchard中的placement.info文件 详解Orchard主题(Theme) 在Orchard中创建一个自定义字段类型 Orchard动态编译机制 在Orchard中为命令行工具(Command-Line)添加一个新命令 在Orchard中处理一对多关系 在Orchard中创建一个主题(Theme)
Orchard中的多站点功能(Multi-Tenant)
二十四画生 · 2011-08-28 · via 博客园 - 二十四画生

    当你运行Orchard的时候,通常一个网站运行在一个应用程序域中。这也是一般ASP.NET应用程序区分两个网站的方法,也就是说两个网站,就需要部署两套网站应用程序。然而,Orchard提供了另外一种区分两个网站的方法。在Orchard中引入了多站点的概念(multi-tenancy,直译为多租户,但我觉得翻译为多站点更贴切),允许你在一个ASP.NET应用程序域中同时运行多个站点。从内存使用率的角度来看这是非常有用的,因为应用程序域的初始化、卸载和回收都是非常消耗资源的。在一个单独的应用程序域中运行多个独立的Orchard网站,就可以在一台服务器上配置更多的站点。做为主机托管商无疑会十分青睐这种方式,这样可以大量节约成本。就一般主机空间的租赁用户来说,也可以在一个主机空间中部署多个站点,这样也能省钱。多站点的功能在Windows Azure环境中会表现的更好,因为部署到Azure中就可以轻松支持多个站点了。

备注如果你想在本机测试多站点的功能,请先阅读“在本机测试多站点” 一节然后在来阅读此文章。

启用多站点功能

默认多站点功能是没有启用的。要启用多站点功能,可以登录后台管理系统,点击Modules菜单,找到Hosting分类下的Multi Tenancy功能,点击Enable。

 

一旦多站点功能启用,你可以在后台管理系统中看见一个Tenants菜单(Tenants菜单只有在访问默认站点的时候才会出现,而通过子站点访问的时候就没有,这样就保证了只有默认站点的管理员才可以创建子站)。点击进入后可以看见一个Default站点,这是安装Orchard时默认创建的站点。你可以想象Default就像一个租户租了一整栋房子,当然你也可以把这栋房子租给更多的人。

添加一个站点

首先,你只会有一个单一的站点,这是默认的站点。

添加一个新的站点,可以点击“Add a Tenant”。

 

  • 在添加站点页面,需要输入站点名称(名称不能包含空格)和站点域名。Orchard将通过用户访问的域名来映射到相应的网站。此外你还可以设置这个站点使用的数据库。共有三种选择:
  • 允许站点自己设置数据库。
  • 使用单独的SQL Server Compact数据库
  • 使用已存在的SQL Server 数据库

当设置好以上属性后,点击“Save”,在站点列表中就可以查看到刚刚添加的站点了。

点击“Set Up”后将将跳转到Orchard安装页面。如果你不是选的“允许站点自己配置数据库”,将不会出现数据库的配置选项。

备注

如果你选择数据库的安装选项为使用已有数据库,那么需要填写已有数据库连接串和表前缀。这样就相当于一个网站使用的是一个独立的数据库。我认为这种实现方式要优于DNN那种不把不同站点数据混在一个表中的形式。

 

运行一个站点

每一个站点都可以有自己独有内容项目,启用不同的功能模块、使用不同的主题,进行独特的配置。不过,每一个站点可用的模块都是一样的。这是因为他们都共享同一个网站程序,所以可用模块也一样。在下面的截图中,展现了在不同的站点使用不同的主题的功能。

 

你也可以随时停用一个站点,只要在默认站点的Tenants菜单中点击“Suspend”就可以停用相应站点了。停用后也可以点击“Resume”随时启用相应的站点。

删除一个站点

目前,在界面上还没有提供删除站点的按钮。但是你可以在网站的App_Data/Sites目录下找到相应的站点名称同名的子目录,然后将其删除即可。你也可以先把这个目录备份到其他地方,这样如果你想恢复的时候就可以使用它了。 

备注

在Azure上,目前还没有办法删除,除非删除实际的数据库,并从BLOB存储更改配置。

在本机测试多站点

如果你希望在本机配置多站点的功能,你首先需要修改一下本机的hosts文件。设置多个指向本机IP地址的域名。Hosts文件通常在 \Windows\System32\drivers\etc\hosts。

用记事本打开这个文件,添加以下记录。

127.0.0.1 t1.myhost.com

127.0.0.1 t2.myhost.com

其次你需要在IIS中绑定这些域名。以IIS 7为例,可以选择相应的Orchard站点,点击右键找到“编辑绑定”项,再网站绑定对话框中添加刚刚在hosts文件中增加的域名。

 

这样你就可以在此Orchard网站中使用新增的两个域名来创建两个新的站点了。

参考文档