MVC-06 安装部署
部署网站往往是一件麻烦事,因为在安装部署的过程中,经常有许多步骤要运行,对于许多不太熟悉IIS/SQL的新手来说,部署网站编程一件非常困难且危险的事。Visual Studio 2012在ASP.NET网站部署方面提升了不少能力,有助于让你将现有网站快速且简便地发布到远程的IIS服务器上,而免除了许多繁杂的设置程序。
一、如何部署到本机的IIS
要部署到本机的IIS,首要动作必须是先在本机安装IIS功能,若要运行ASP.NET MVC 4,则还必须安装.NET Framework4.0以上版本。
1. 安装IIS功能
如果你用的是Windows 7或Windows 8操作系统,可以通过“控制面板”中的“开启或关闭Windows功能”进行安装,选中“Internet信息服务”选项,以及“应用程序开发功能”选项中的ASP.NET。
从Windows7的“开启或关闭Windows功能”安装ASP.NET只会安装.NET3.5 SP1,若要运行ASP.NET MVC4.0网站,则必须安装.NET Framework4.0以上版本。
2. “Web一键式发布”功能的使用
VS2012提供了“Web一键式发布”工具栏,只要创建“发布设置”之后,即可用“单键”将网站安装或更新完成,非常神奇且好用。
在VS2012的工具栏上单击鼠标右键,在弹出的快捷菜单中选择“Web一键式发布”命令即可开启“Web一键式发布”工具栏,如下图。
开启“Web一键式发布”工具栏后,就新增一个新的发布设置,如下图。
VS2012的“Web一键式发布”功能支持多种发布方法,其中包括Web Deploy、Web Deploy包、FTP、文件系统与常规的FPSE(FrontPage Server Extension)等,如下图所示。
要安装网站到本机IIS,使用Web Deploy是最有效率的方法,具体设置如下图。
如果VS运行在UAC(用户账户控制)状态下,在验证连接时,就会发生NEED ELEVATED TO RUN MSDEPLOY的警告消息。这时可关掉VS,“以管理员身份运行”的方式重新启动VS,这样的权限才能发布网站到本机的IIS上。
接着单击“下一步”按钮继续设置其他参数,如下图。
通常有规律的管理团队,都会设置多个不同的方案配置,以便切换“开发环境”与“正式环境”的设置。在“设置”界面中,可以指定“配置”选项。如果指定Release配置,即便当前选择的是Debug配置,VS也会帮你自动切换到Release配置并编译整个网站,最后再将这个编译好的网站发布到远程的IIS中,网站部署的流程被自动化,相应的发生错误的机会就降低了。
在“配置”设置中,还有个“删除目标上的附加文件”选项。在发布网站之前,会先移除IIS站点目录中的所有文档,然后才发布更新文档。
因为开发环境的数据库连接参数与正式环境的数据库连接参数往往不太一样,因此可以在“配置”中的设置数据库。可以勾选“在运行时使用此连接字符串(更新目标web.config)”选项,用这里指定的连接字符串,修改Web.config配置文件内的数据库连接字符串。
接着单击“下一步”按钮进入“预览”设置界面,如下图。
“预览”功能可以将这次要发布到IIS站点的所有文档列出来,并且明确告知你这次发布的动作会有多少文档被新增、删除或更新,如下图。
如果遇到“预览失败”错误,可能是由于IIS的应用程序池中,默认网站的.NET Framework版本不对,将2.0修改为4.0,如下图。
最后单击“发布”按钮,这些准备发布的文档就会成功地部署到IIS里。
上述发布设置虽然感觉有些复杂(跟以前相比已经简单很多),但你只需设置一次,当日后在项目中有任何文档被新增、删除或更新时,只要在“Web一键式发布”工具栏上单击“发布Web”按钮,如下图,网站所有的异动就会自动发布到IIS上,非常方便且直观。
如果发生错误处理程序“ExtensionlessUrlHandler-Integrated-4.0”,可能是需要用aspnet_regiis注册4.0框架,然后用4.0的Class池,就可以运行4.0的web项目了。以管理员方式启动“VS2012开发人员命令提示”,具体操作如下图。
最后就可以用http://localhost/App1或http://192.168.1.101/App1网址,浏览该网站了。
如果没有安装sql server 2012,直接运行带有local db数据库的网站会出错。解决方法是将该数据库部署到本机的数据库上(如sql server 2008)。数据库生成脚本,可使用迁移命令,update-database –Script –SourceMigration:$InitialDatabase -TargetMigration:Initial。
如果出现“用户 'IIS APPPOOL\DefaultAppPool' 登录失败”错误,可将IIS中Default Web Site应用程序池的高级设置à进程模型à标识,修改为Local System。
MVC-06 安装部署的更多相关文章
- 指导手册06:HBase安装部署
指导手册06:HBase安装部署 配置环境 1.参考文件: https://www.cnblogs.com/lzxlfly/p/7221890.html https://www.cnblogs.com ...
- 第06讲:Flink 集群安装部署和 HA 配置
Flink系列文章 第01讲:Flink 的应用场景和架构模型 第02讲:Flink 入门程序 WordCount 和 SQL 实现 第03讲:Flink 的编程模型与其他框架比较 第04讲:Flin ...
- 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署
少啰嗦,直接装 看过上一篇分布式文件系统 - FastDFS 简单了解一下的朋友应该知道,本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上 ...
- 最新版CentOS6.5上安装部署ASP.NET MVC4和WebApi
最新版CentOS6.5上安装部署ASP.NET MVC4和WebApi 使用Jexus5.8.1独立版 http://www.linuxdot.net/ ps:该“独立版”支持64位的CentOS ...
- Greenplum 数据库安装部署(生产环境)
Greenplum 数据库安装部署(生产环境) 硬件配置: 16 台 IBM X3650, 节点配置:CPU 2 * 8core,内存 128GB,硬盘 16 * 900GB,万兆网卡. 万兆交换机. ...
- Linux系统批量化安装部署之Cobbler
说明: Cobbler服务器系统:CentOS 5.10 64位 IP地址:192.168.21.128 需要安装部署的Linux系统: eth0(第一块网卡,用于外网)IP地址段:192.168.2 ...
- Ubuntu 16.04+.Net Core+Docker+Uginx安装部署
前言 最近公司的项目打算移植到.Net Core平台,所以调研了一下.Net Core在Linux下的安装部署.本篇文章会一步步的描述从安装到配置到部署的全部过程.在文章的结构和内容里,笔者借鉴了很多 ...
- Linux下安装部署Samba共享盘的操作手册
简述 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的 ...
- Ansible安装部署以及常用模块详解
一. Ansible 介绍Ansible是一个配置管理系统configuration management system, python 语言是运维人员必须会的语言, ansible 是一个基于py ...
随机推荐
- HTML之学习笔记(七)列表
html的列表分为有序列表,无序列表和自定义列表 1.有序列表(order list) 代码演示 <ol type="a"> <li>第一项数据</l ...
- wcf综合运用之:大文件异步断点续传
在WCF下作大文件的上传,首先想到使用的就是Stream,这也是微软推荐的使用方式.处理流程是:首先把文件加载到内存中,加载完毕后传递数据.这种处理方式对小文件,值得推荐,比如几K,几十k的图片文件, ...
- HTML与CSS绘制简单DIV布局
HTML代码<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF ...
- poj3162 Walking Race
题目大意:给一个树形图n个点(n-1条边),XXX要练习竞走,每次选定一个点k作为开始点,每次走从k开始能走的最长的一条路径(不要重边).要求出最长的连续的这样的k,假设连续有kx个,前提:这样kx条 ...
- C++之继承和动态内存分配
C++之继承和动态内存分配 如果基类使用动态内存分配,并重新定义赋值和复制构造函数,这将如何影响派生类的实现呢?这取决于派生类的属性,如果派生类也使用动态内存分配,这将如何实现呢?这种 ...
- 关于 rand() 函数返回值的值域的疑问
<C语言参考手册>中关于 rand() 函数有如下描述. (1)rand() 函数的原型 int rand(void); (2)连续调用 rand 将返回 0 到 int 类型的最大可表示 ...
- semver语义化版本号
semver语义化版本号 语义化版本号各位置的含义 版本号:X.Y.Z X: 代表发生了不兼容的API改变 Y: 代表向后兼容的功能性变化 Z: 代表向后兼容bug fixes 语义化版本号示例 1. ...
- 在PADS LAYOUT中如何隐藏不需要的鼠线?
如下图示,将net GPR_0的鼠线隐藏. 鼠标右键,选择网络----选择你要隐藏的网络------右键选择view nets----点击对话框右边View List里你所选的网络-----在右下角t ...
- NAND闪存颗粒结构及工作原理
NAND闪存是一种电压元件,靠其内存电压来存储数据,现在我们就来谈谈它的结构及工作原理. 闪存的内部存储结构是金属-氧化层-半导体-场效晶体管(MOSFET),里面有一个浮置栅极(Floating G ...
- Python GUI开发环境的搭建
原文:Python GUI开发环境的搭建 最近对Python的开发又来了兴趣,对于Python的开发一直停留在一个表面层的认识,玩的部分比较大. Python的入手简单,语法让人爱不释手,在网络通信方 ...