对于"发布和部署“,我指的是你开发了一个DNN网站,需要放到租用的虚拟主机或者客户的局域网的服务器里。对于”迁移“,我指的是有时侯你需要把一个DNN站点从一个租用空间搬到另一个租用空间,或者从一个服务器搬到另一个服务器。有一种”迁移“的特殊情况,那就是”重建“,有时你从别人那里接手一个DNN网站,或者你拿到一个DNN网站整站程序,你需要把这个网站重新架起来。
各自的特点:
发布和部署
- 你需要把代码源文件(如.vb,.cs)去掉
- 你对所有的方面完全了解,并有绝对控制权
迁移
- 源文件已经去掉,或者不用考虑这方面的事情,因为之前已在运行。
- 你了解网站之前的设置情况,包括使用什么模块,有多少子站,子站的别名是什么,数据库连接是什么等等。
重建
- 你对手里的网站完全陌生,不知有多少子站,不知到别名的设置,不知道使用了什么模块,不知道如何连接的数据库。
操作过程:
发布和部署
- 添加一个发布时使用的别名。因为部署到服务器上后,一般访问网站的URL地址会发生变化。比如你在本地一直是用http://localhost调试的,发布后,应该使用http://www.domainname.com访问。因为DNN的“别名”机制,如果你在部署之前没有添加相应的“别名”,那么在部署之后你就没有办法立即用http://www.domainname.com访问到你部署的网站。
- 将网站文件拷贝到服务器上,并在IIS中新建一个网站指向这个目录,设置主机头。注意,不要再把DNN放到虚拟目录下,应该放到网站根目录。
- 把数据库拷贝到数据库服务器上(一般是SQL),你可以使用“dettach"和"attach",使用"backup"和"restore",使用SQL Script直接重建等等方法。
- 修改web.config文件,使其指向发布环境中的数据库。
- 检查IIS的各项设置。并确认ASP.NET的版本正确,DNN 3.x是ASP.NET 1.0,DNN 4.x是ASP.NET 2.0
部署到单位内部局域网主机上实际是很简单的,按上述几条进行就可以了。
部署到虚拟主机上会相对麻烦一点,最主要的障碍是虚拟主机给你的自由度更小。很多东西你可能无法直接修改,甚至包括重要的web.config文件。但基本的原理还是一样的,也就是“网站文件和数据库文件拷贝到服务器上并修改相应设置的过程”,你仔细阅读虚拟主机提供商的说明,尽量地修改各种设置。并且可以考虑寻找专门的DNN网站虚拟主机提供商。一定要注意的是第一步,如果你没有添加相应的“别名”,到时候你可能完全无法访问自己发布的网站,因为你不可能跟局域网里的机器一样可以通http://localhost这种方式去访问虚拟主机上的网站,所以一定要先加一个“别名”。
迁移
迁移相对简单,因为大部分东西都没有变化,按照发布和部署的步骤造作就可以了。重建
因为你完全不了解手里的这个网站,你应该先通过查看数据库中的内容来了解这个网站。- 通过PortalAlias表来了解别名的情况。