在server2003上部署MVC3站点碰到的问题以及解决方案

上个月跑了好几个客户,部署我的网站系统,因为小公司都用传统模式开发网站,MVC只有刚进公司的我一个人在做,没办法只能我去配服务器了,从来都是别人帮我配置好服务器让我做开发的,这种工作真是很不习惯,也遇到了各种各样的问题。我这里简单记录一下已经碰到过的问题,顺便说一下整个部署流程。

1、准备工作:

  1)安装IIS(我使用的都是6.0,没有尝试过安装其他版本的IIS)、sqlserver、.net framework4.0、和MVC3,初配的服务器在安装framework前必须首先安装WIC

  2)发布MVC项目,在发布前,需要将以下引用项目复制到本地(打开引用->找到相关引用->属性->复制到本地->true):

    EntityFramework(我用的是4.0)     System.Web.Routing.dll     System.Data.Entity.dll     System.Web.Entity.dll

  3)没有安装过MVC3的服务器需要部署MVC3项目时,需将以下内容一同复制(详细部署方法就不介绍了,自行搜索相关文章,其实我没有试过在没装MVC3的服务器上部署)

    System.Web.Abstractions.dll     System.Web.Helpers.dll     System.Web.Mvc.dll     System.Web.Razor.dll     System.Web.Routing.dll     System.Web.WebPages.dll     System.Web.WebPages.Razor.dll     System.Web.WebPages.Deployment.dll   4)修改web.config文件中的相关内容(比如连接数据库的方式等)

2、IIS部署

  1)新建一个站点,设置好自己的IP和端口,多余的废话我就不多说了

  2)右键网站属性,Asp.Net->Asp.Net version->4.0.30319

  3)文档->启用默认内容文档->钩子去掉

  4)主目录->目录浏览->去掉钩子

  5)主目录->配置->添加->浏览(C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll)->扩展名(随便写,我写的是:.mvc)->确认文件是否存在(钩子去掉)->确定 ->确定

运行到这一步,配置已经完成了,右键浏览,就能看到你部署上去的网站了

3、常见错误和问题:

  1)浏览出来是一个目录列表

  解决方法:

    1.确认你已正确安装MVC3     2.如果IIS上已经部署有其他非MVC3的.net网站,请不要让你的站点与其他非MVC站点共享应用程序池,操作方式:       应用程序池(右键)->新建->应用程序池->确定       站点->属性->主目录->应用程序池->选择你刚才新建的应用程序池     3.点击Web服务扩展,确定ASP.NET v4.0.30319的状况已经设置为已经为允许     4.确认完上述步骤后重启IIS,再次浏览页面

  2)401.1错误

    1.查看IIS管理器中站点安全设置的匿名帐户是否被禁用,如果是,请尝试用以下办法启用:       控制面板->管理工具->计算机管理->本地用户和组,将IUSR_机器名账号启用。如果还没有解决,请继续下一步。     2.查看本地安全策略中,IIS管理器中站点的默认匿名访问帐号或者其所属的组是否有通过网络访问服务器的权限,如果没有尝试用以下步骤赋予权限:       开始->程序->管理工具->本地安全策略->安全策略->本地策略->用户权限分配,双击“从网络访问此计算机”,添加IIS默认用户或者其所属的组。       注意:一般自定义 IIS默认匿名访问帐号都属于组,为了安全,没有特殊需要,请遵循此规则。     3.还有一种情况,用户名密码不正确       打开【计算机管理】->【本地用户和组】->找到那个IUSR_的【用户名】,右键提示修改【密码】,先试着修改。(记住这个密码)       同时在【IIS管理器】找到那个开通不能访问的【子目录】-> 右键–>【属性】–>【目录安全性】–>【身份验证和访问控制】–>【编辑】–>将密码设置为刚才提到的用户名一样就可以了。

  3)403错误

    1.先检查是否已正确拥有浏览该网页的权限,右键网站->权限 检查是否已设置IUSER_机器名账户的读写权限     2.检查对应项目文件夹下的项目是否已设置IUSER_机器名账户的读写权限     3.确定你的Web扩展服务中ASP.NET v4.0.30319已经启用     4.如果仍旧不行,在项目文件夹下新建一个页面index.htm在页面上随便写点东西,然后网站属性中启用默认文档,浏览是否能正常浏览页面,如果能正常浏览参照以下步骤:       也许你是先安装了framework4.0,后安装的IIS,出现这个错误的原因是你的framework4.0并没有注册进IIS,需要重新注册       开始->运行->cmd->C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i       点击WEB扩展服务,将ASP.NET v4.0.30319 状况设置为允许       最后重启IIS

好了,以上就是我这几天配置服务器遇到的错误和一些解决的方法,自己草草总结了一下,自己配置服务器的经验并不多所以希望各位大师多多提点

知识共享许可协议
《在server2003上部署MVC3站点碰到的问题以及解决方案》 常伟华 创作。
本作品采用知识共享署名-相同方式共享 4.0 国际许可协议 | 3.0 中国大陆许可协议进行许可。

站内公告

A PHP Error was encountered

Severity: Core Warning

Message: PHP Startup: zip: Unable to initialize module Module compiled with module API=20060613 PHP compiled with module API=20090626 These options need to match

Filename: Unknown

Line Number: 0

Backtrace: