部署ASP.net MVC程序到IIS
转:http://www.cnblogs.com/piyeyong/archive/2012/08/15/2640004.html
在网上找到一个table,列举了不同的操作系统对应的IIS版本以及配置MVC时的说明。
|
IIS version |
Windows version |
Remarks |
|
IIS 7.0 (integrated mode) |
Windows Server 2008 Windows Vista (except Home Basic) |
No special configuration required |
|
IIS 7.0 (classic mode) |
Windows Server 2008 Windows Vista (except Home Basic) |
Special configuration required to use URL routing |
|
IIS 6.0 |
Windows Server 2003 |
Special configuration required to use URL routing |
|
IIS 5.1 |
Windows XP Professional |
Special configuration required to use URL routing |
|
IIS 5.0 |
Windows 2000 |
Special configuration required to use URL routing |
从表中可以总结出:
1.IIS7.0之前的版本,需要特殊配置,因为现有IIS,后来才开发的MVC模块
2.IIS7.0的classic mode,适合之前的版本兼容的,需要特殊配置
3.补充: Windows 7 和window server 2008 R2是IIS7.5,IIS的版本越新,配置越简单(这个是必然的)
我觉得以后遇上IIS6.0的机会很少了,所以也不必理会,只要知道IIS7的Integrated mode如何配置就可以了。
1.安装好IIS后,添加一个新的网站:

注意新建的website的binding不要与原有website冲突,Default Web Site使用的80端口。
新建的website都会自动创建App pool,它的作用是隔离其它的App pool,各个web site不会互相影响,一个crash了,其它还能继续。
2.在Application Pools下编辑刚刚创建的App pool:

这里选择.NET的版本和pipeline mode,就是前面说的Integrated mode和classic mode
3.在VS2010中publish
在web project上右键,publish

在弹出的Publish Web对话框里输入URL和website名,点击Publish

刷新IIS,可以看到已经部署成功
4.打开浏览器访问,遇到的问题及解决方案:
出现403.14Forbidden错误
需要运行命令:%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir
原因是先安装的.net framework,后安装的iis,需要将asp.net的模块注册到IIS

An attempt to attach an auto-named database for file .mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.
使用mdf文件然后直接attach到sql server express这种方式的,可能会遇到这个错误,这个需要将User Instance=True这个属性加到connection string中
可以直接编辑web.config文件,也可以在IIS的web site的Features View页面的Connection Strings配置项修改


Failed to generate a user instance of SQL Server due to failure in retrieving the user's local application data path. Please make sure the user has a local user profile on the computer. The connection will be closed.
需要修改app pool的Identity,换成NewworkService,在App pool的Advanced Settings页面修改


Windows7的bug
这个是折腾我最久的一个issue,我实在win7开发的,部署后通过浏览器始终无法打开网页,也看不到任何错误。后来在windows server2008 R2上试了下,一点问题木有,后来在《Pro ASP.NET MVC 2 Framework, Second Edition》这本书找到了答案:
If you’re trying to deploy to IIS 7.5 on Windows 7 for development purposes, you may also need to click Start, type turn windows features on or off, press Enter, and then enable Internet Information Services
部署ASP.net MVC程序到IIS的更多相关文章
- PowerShell自动部署ASP.NET Core程序到 IIS
Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能.有关于更多PowerShell的信息,可参阅百度词条 接 ...
- 阿里云 Windows Server 2012 r2 部署asp.net mvc网站 平坑之旅
做了多年的Web开发工作,网站部署也不在话下,可每次部署却并不是十分顺利,将本次在阿里云服务器上部署asp.net mvc网站遇到的问题记录如下. 平台是阿里云ECS,操作系统是 Windows Se ...
- 用开源 ASP.NET MVC 程序 Bonobo Git Server 搭建 Git 服务器(转)
用开源 ASP.NET MVC 程序 Bonobo Git Server 搭建 Git 服务器 现在不用Git,都不好意思说自己是程序员. 当你想用Git,而源代码服务器是Windows系统时,你 ...
- 在ASP.NET MVC中使用IIS级别的URL Rewrite
原文 在ASP.NET MVC中使用IIS级别的URL Rewrite 大约一年半前,我在博客上写过一系列关于URL Rewrite的文章(2.3.4),把ASP.NET平台上进行URL Rewrit ...
- 05 入门 - 浅谈 ASP.NET MVC程序的工作原理
目录索引:<ASP.NET MVC 5 高级编程>学习笔记 本篇内容 1. Global.asax文件 2. RouteConfig.cs文件 3. 视图命名和寻址的规则 前面创建了一个简 ...
- IIS8发布Asp.net MVC程序后出现404错误,处理程序staticFile
新部署的虚拟机,运行Asp.net MVC程序,出现如下图错误: 解决方法: 添加功能和角色->添加角色->Web服务器IIS->应用程序开发->Asp.net3.5 /Asp ...
- MVC中使用EF(1):为ASP.NET MVC程序创建Entity Framework数据模型
为ASP.NET MVC程序创建Entity Framework数据模型 (1 of 10) By Tom Dykstra |July 30, 2013 Translated by litdwg ...
- 跟我学ASP.NET MVC之三:完整的ASP.NET MVC程序-PartyInvites
摘要: 在这篇文章中,我将在一个例子中实际地展示MVC. 场景 假设一个朋友决定举办一个新年晚会,她邀请我创建一个用来邀请朋友参加晚会的WEB程序.她提出了四个注意的需求: 一个首页展示这个晚会 一个 ...
- 跟我学ASP.NET MVC之二:第一个ASP.NET MVC程序
摘要: 本篇文章带你一步一步创建一个简单的ASP.NET MVC程序. 创建新ASP.NET MVC工程 点击“OK”按钮后,打开下面的窗口: 这里选择“Empty”模板以及“MVC”选项.这次不创 ...
随机推荐
- 程序设计入门-C语言基础知识-翁恺-第七周:指针与字符串-详细笔记(七)
目录 第七周:指针与字符串 7.1 指针初步 7.2 字符类型 7.3 字符串 7.3 课后练习 第七周:指针与字符串 7.1 指针初步 sizeof 是一个运算符,给出某个类型或变量在内存中所占据的 ...
- 数据库备份mysqldump
|--好友说:有些知识就是石头,走上这条路就没法绕过,就是牙齿啃碎了也要把它啃下来. ------------------------------------------ 针对当前备份做一个总结记忆: ...
- MySQL的用户账户管理
1.开启MySQL远程连接 1.sudo -i 2.cd /etc/mysql/mysql.conf.d/ 3.vim mysqld.cnf #bind-address = 127.0.0.1 把前面 ...
- 类的静态方法@staticmethod
静态方法 @staticmethod 静态方法是定义在类内部的函数,此函数的作用域是类的内部 说明: 静态方法需要使用 @staticmethod装饰器定义 静态方法与普通函数定义相同,不需要传入se ...
- fedora 修改home下的中文目录为英文目录
<h4>修改home下的中文目录为英文目录</h4>习 惯问题,喜欢使用fedora为您在home目录下自创建的“桌面”.“文档”,“图片 .公共的” .“下载”. “音乐”. ...
- Python:版本升级(Mac OS X)
Mac OS X 10.8及以后的版本都预装了Python 2.7,但是在Mac上(Unix-like OS)上修改Python的版本并不如Windows方便.这篇文章的目标是要将Mac自带的Pyth ...
- 【Codeforces】Round #488 (Div. 2) 总结
[Codeforces]Round #488 (Div. 2) 总结 比较僵硬的一场,还是手速不够,但是作为正式成为竞赛生的第一场比赛还是比较圆满的,起码没有FST,A掉ABCD,总排82,怒涨rat ...
- SSH使用密钥登录并禁止密码登录
#1 新建用于登录的用户useradd -p `echo "KYmO4ClPt1" | openssl passwd -1 -salt $(< /dev/urandom tr ...
- vbs命令1
MsgBox "兄弟呀,你最近是否失眠",vbinformation Randomize() Dim a a=Int(rnd*2) Select Case a Case 0 Msg ...
- LG3953 逛公园
题意 策策同学特别喜欢逛公园.公园可以看成一张\(N\)个点\(M\)条边构成的有向图,且没有 自环和重边.其中1号点是公园的入口,\(N\)号点是公园的出口,每条边有一个非负权值, 代表策策经过这条 ...