ASP.NET系统网站发布
在一个系统网站项目做完之后,这个时候我们就要把这个做好的网站发布到服务器上,并给这个系统一个域名供用户访问并使用。
本来那天发布完这个系统之后就像把这个系统整个发布的过程写出来,由于工作繁忙有些耽误。在这篇日志中,我将把我前几天发布一个网站过程记录下来供大家分享。
用VS自带的网站发布工具,首先,在VS2008(visual studio 2005也可以,本人用的是VS2008, )中,打开已经做好的项目,
1. 右击项目WEB层,这时我们可以看见,在右击菜单中有发布(B)...一栏,点击它,将出现下图:
2. 点击输入框后面的…将弹出下面对话框
我们选择本地IIS进行发布,为什么呢?OK,很简单,本地IIS发布好之后,这个系统的配置差不多就完成了。选择好发布好的目录之后,点击发布,这时我们注意到VS的下方有:
说明网站正在发布。发布完成之后,VS的左下角会提示发布成功。
3. 这时我们打开IIS,不好了,发现刚发布的系统所有的内容都在那个Default Web Sites目录下,看起来很不顺眼是吧,而且你浏览你发布“成功”时,你会发现报错了,是不是下面这个错误呢?
是的,就是这个错误,哈哈,告诉你吧,你想象的发布系统也太简单了。
4. 其实在刚刚发布网站之前,我们首先就必须在IIS中新建一个虚拟目录,并将该目录指向你所定的物理目录,你发布的系统的内容都将在这个目录下。这样说是不是太虚幻了,还是给些截图提示吧
(1) 右击Default Web Sites,选择添加虚拟目录,给这个虚拟目录一个别名,并给它指向一个实际的物理路径
点击确定就OK了。
(2) 别急,上面那还有一个关键要完成,就是将你刚刚添加的虚拟目录转换成应用程序,很简单,右击刚添加的虚拟目录,选择转换为应用程序。
5. 这下我们就可以重新回到发布的第一步,选择刚添加的虚拟目录
6. 发布完成之后,我们再次对页面进行浏览,发现又报错了,哈哈,是不是很急人啊,哎,想那么简单发布好一个网站不是那么简单哦。错误是不是下面这样的呢?
其实这个是程序池的问题,很简单,我们需要对这个虚拟目录进行些高级设置,右击虚拟目录pubHealthService->管理应用程序->高级设置,我们发现这个虚拟目录的应用程序是值默认是DefaultAppPool,问题就出在这里,点击后面的省略号,
选择Classic .NET AppPool,点击确定。
哈哈,是不是已经可以正常浏览呢,本地发布的对问题已经解决了,小高兴下!~~。
7. 本地发布之后,我们就需要把这个发布好的系统发布到服务器上去,这下就比较简单了,首先将刚刚发布好的网站物理目录里面内容上传到服务器中,并在服务器的IIS中像第四步那样新建虚拟目录,注意,这个虚拟目录的物理路径指向你上传来的文件所在目录(呵呵,别忘记了,还要转换为应用程序,千万不要粗心!)。服务器上的发布按道理这样发布就应该好,可是有部分人,可能还会遇见问题,系统能跑起来,但是根本上连不上数据库,查遍IIS和数据库相关配置之后,根本没有任何错误,是的,你的配置没有任何问题,是不是该考虑下??对,服务器没装.NET3.5,要知道,没装.NET3.5很多类库都没有,系统当然跑不起来,装上之后问题就解决了。
8. 当然,说到上面的第七步,大家可能觉得有些多余,是的,我们在当初的发布系统的时候就可以选择远程站点,这样就少了第七步的部分操作。
呵呵,不早了,就写到这吧,大家要是遇见什么问题,欢迎留言讨论,有问题本人将尽力解决!~~