DotNetNuke 多站点系统如何帮你省钱
多站点系统是 DotNetNuke 其中一个很强的功能, 我在这里会介绍下 DNN 多站点系统是如何工作的,看过这篇文章你将会了解它是如何帮我们节省租用主机的费用。
摘要:
- 普通的主机租用方式
- DotNetNuke 多站点系统
- DNN 的多站点系统是如何工作的呢?
- DotNetNuke 站点(portal)类型, 主站点和子站点
- 主站点, 子站点都是平等的
- 站点编号 (portal number) 和网站资源
- 多站点管理
- 主机管理员资源控制
普通的主机租用方式
普通的虚拟主机租用方式通常是, 你买一个域名然后买一个虚拟主机服务套餐,如果你想再买另外一个域名,你可能有两个选择
- 在同一个帐号里再开通一个新的网站
- 买一个新的虚拟主机服务套餐
这些都需要你再掏腰包,在IIS里创建一个新的网站,和买一个新的虚拟主机显然都不是免费的,那么为多个域名购买主机网站空间就变成了你生意一个很大的开销。
DotNetNuke 多站点系统
DotNetNuke 可以用一个主机服务帐号(1个IIS网站)来管理运行多个域名。 在主机中你只需要安装一个DotNetNuke网站然后在 DNN 系统中为每个域名创建一个站点(portal)。 如此简单,你再不需要为你的这些网站付多份主机服务费了。 每个域名下站点的内容看起来都是独立的,互不影响。
DNN 的多站点系统是如何工作的呢?
- 把所有域名指向虚拟主机
购买域名从一个或多个域名服务商,在域名服务商提供的DNS设置里把所有域名指向虚拟主机的ip, 如果不知道怎么做可以看看 四招教你快速学会怎样设置域名解析 - 在虚拟主机中把所有的域名指向 DotNetNuke 网站系统
在虚拟主机的IIS控制面板设置中把所有域名指向DotNetNuke网站的IP地址
如果有IIS的控制权直接在DotNetNuke网站Host Header设置里加入这些域名,端口号为80 - 在DotNetNuke系统中建立网站(portal)
在DotNetNuke系统中为每个域名建立一个站点,当有请求进入,网站别名设置(portal alias settings)会把请求的域名转向正确的站点(portal)
图1 - DotNetNuke 多站点系统示意图
DotNetNuke 站点(portal)类型, 主站点和子站点
在 DotNetNuke 社区经常会有人搞不清楚主站点(parent )和子站点的区别。 其实他们唯一不同的只有URL
- 主站点 (parent portal) - 主站点是拥有独立域名的站点, 例如:
www.dnnmix.com
www.cnblogs.com
http://skins.dnnmix.com
http://group.cnblogs.com
* 请注意这里包含子域名 - 子站点(child portal) - 子站点就是URL是在独立URL之下的网站, 例如
www.dnnmix.com/dnn5
www.cnblogs.com/dnnmix
http://modules.dnnmix.com/blog
* 请注意子域名同样可以拥有子站点
* 如果在域名后使用 "/" 例如 www.dnnmix.com/ 这将是一个子站点
主站点, 子站点都是平等的
所有的站点(portal), 不论是子站点还是主站点都是平等的, 他们在功能和管理上没有任何的不同。 当你创建一个站点,DotNetNuke会给你一个默认的站点编号 (portal number) 站点编号是从零开始的。 在这里站点 100 和站点 0 是没有任何优先区别的。
不同的是?
主站点和子站点唯一不同的是, 建立子站点的时候会在 DNN 网站主目录生成一个同名的目录,例如建立子站点www.dnnmix.com/blog 网站主目录下会生成blog文件夹, 里面有一个default.aspx, 这个文件会转向请求到主目录。因此可以看到主站点因为没有转向所以会有一点点性能上的优势。
当首次访问子站点,你会发现URL是以下形式
- 输入 www.dnnmix.com/blog
- URL会变成 www.dnnmix.com/default.aspx?alias=blog
当你再点击网站内的其他连接URL将会是正常的, 只有在第一次读取子网站时URL才会重写出现?alias=blog, 如果你想要去掉它可以看看John Mitchell在他blog中的方法 。
站点编号 (portal number) 和网站资源
当创建站点的时候 DotNetNuke 会分配一个站点编号给这个站点, 同时会在/portals 目录下生成一个以编号命名的文件夹,例如创建子站点www.dnnmix.com/blog 站点编号是3,你会发现/portals/3 这个目录已经生成了。 这个目录里包含的是和这个站点相关的一切资源,例如日后上传站点专用皮肤会直接传到/portals/3这个文件夹,文件管理器里上传的文件也会传到这个文件夹... 这样确保了各个站点间的资源独立。
当你在添加新站点的时候可以用定制功能重新命名/portals/3这个文件夹,但是在建立完站点的时候就不能修改了
多站点管理
只有主机管理员(host account)才拥有管理所有的主站点和子站点的权限。
如果一个用户在其中一个站点注册并获得了站点管理员权限, 那么这个用户只能编辑管理他所在的站点。
另外主站点和子站点的管理是完全一样的。
主机管理员资源控制:模块, 皮肤, 硬盘空间
- 主机管理员可以分配给不同的站点指定的模块和皮肤
- 主机管理员帐号是唯一拥有上传模块(module)权限的账号
- 主机管理员可以设置是否允许站点管理员上传皮肤到自己的站点
- 另外的一些控制还包括
- 分配硬盘空间给各个站点
- 设置是否允许网站使用网站记录 - 网站访问记录
现在我想你已经了解了 DotNetNuke 多站点系统的基本工作原理, 接下来有时间我会介绍下如何设置和管理多站点系统。
欢迎加入DNN QQ群讨论
DNN MSN 群: group247485@msnzone.cn