话外篇:

由于感觉自己的机器比较慢,配置不好,所以最近想把之前的项目部署到实验室的服务器上,但是由于常不在实验室,所以在想能不能远程部署。因此今天专门研究了一下具体的过程,下面和大家分享一下。本人新手,还望大虾勿喷,有什么问题,还望高手指点。

一、本文实验环境:

Windows Server 2012 R2

SQL Server 2012 Express

Visual Studio 2013

项目为:ASP.NET MVC 5.0,使用的是LocalDB数据库

二、使用Web Deploy远程部署的条件

Web Deploy可以用于本地和远程部署Web项目,使用Web Deploy部署时有如下要求:

1.需要安装Web Deploy ,下面地址:http://www.iis.net/downloads/microsoft/web-deploy

2.安装Web Deploy之后,还需要启用IIS 的——管理服务,打开Windows Server的服务器管理器,点击添加角色和功能:

之后点击下一步:

在这里需要勾选“管理服务”,这一步非常重要。

之后下一步,等待完成配置即可。完成之后再服务列表中会多出Web Management Service服务,并确保该服务启动。

注意,如果该服务没有启动,或者没有启用“管理服务”功能,则在使用Web Deploy部署项目时会遇到如下错误:“未能连接到远程计算机,请确保在远程计算机上安装了 Web Deploy 并启动了所需的进程("Web Management Service")”:

      3.配置好管理服务之后,接下来需要进入IIS中通过管理服务来进行相应的设置:

在我们启用管理服务后,进入IIS,会多出管理服务选项:

双击管理服务,对IIS进行配置,这里我保持了默认的设置,您可以根据自己的情况进行设置:

     4.配置远部署Web项目的账户

基于安全考虑,我们最好提供单独的账户来部署Web项目,同时对于IIS中站点,可以指定哪些用户才具有部署应用程序到此站点的权限。

首先点击"IIS 管理器用户":

然后点击"添加用户":

然后配置账户名和密码:

配置完成之后,接下来需要设置站点的用户权限。

  5.配置站点用户权限

首先点击您程序将要发布到的站点,例如本文为Default Web Site.之后在管理选项中点击"IIS 管理器权限":

之后点击“允许用户”:

将之前我们添加的iepi用户添加到选择的站点权限中:

最后点击确定,配置结束。

 三、使用Visual Studio 2013远程部署项目

在发布项目之前,我们需要对将要发布的站点(例如这里的 Default Web Site)根目录进行一些权限配置。也就是"Local Service "账户需要有修改站点目录的权限。这里我们的“Default Web Site”的目录对于着:

C:\inetpub\wwwroot,因此我们右键wwwroot文件件,选择属性——安全——编辑,添加Local Service账户,并勾选”修改“权限“

如果没有进行以上的权限配置则会在发布的时候提示无法在站点的物理目录下创建文件,没有创建权限。

在配置好站点的物理目录权限之后我们开始发布web项目:

右键项目选择"发布":

  

然后新建一个配置文件,当然也可以选择之前的,建议新建一个。

之后点击下一步,节奏配置 Web Deploy:

说明:服务器:输入IP地址即可

站点名称:格式为”站点名称“/"应用程序名称"

用户密码即为上面我们配置的用户密码。

目标URL:一般格式:http://ip:端口号/y应用程序名称,在我们发布完成之后,浏览器会自动的打开这个url。

之后点击验证,出现表示信息无误,可以进行发布了。接下来点击下一步,直到发布完成,这里由于我们使用的是LocalDB,因此我们不用进行数据库配置。

四、配置LocalDb数据库

LocalDB的是一个SQL Server Express轻量级版本的数据库引擎。 它在用户模式下启动、执行。LocalDB的运行在一个特殊的SQL Server Express的执行模式,所以允许您使用MDF文件数据库。通常情况下,LocalDB的数据库文件都保存在web项目的App_Data文件夹下面。

      注意:在生产环境的Web应用程序中,我们不推荐您使用SQL Server Express。 尤其, LocalDB不应该被用于Web应用程序的生产环境,因为它设计之初不要求使用IIS。 然而,LocalDB的数据库能够很容易地迁移​​到SQL Server或SQL Azure中——摘自《ASP.NET MVC 5 - 创建连接字符串(Connection String)并使用SQL Server LocalDB》.

了解LocalDB之后,我们如何让我们的ASP.NET MVC项目能访问呢?首先,我们需要设置我们的项目,将数据库文件包含到项目中:

然后重新发布。

之后在站点物理路径对于的应用程序目录下会有对于的App_Data文件夹,其中包含了我们的数据库文件。

之后打开 SQL Management Studio.并使用(LocalDb)\v11.0,Windows 身份验证登陆,然后附加我们项目的数据库。

接着在IIS中修改项目对应应用程序池的标识为"Local System"。原因参考这里.

在完成以上所有步骤之后,我们的所有工作便已经完成了,在浏览器中输入地址就可以访问我们的Web了。附图两张:

 
 
 

图文详解远程部署ASP.NET MVC 5项目 [转载]的更多相关文章

  1. 图文详解远程部署ASP.NET MVC 5项目

    话外篇: 由于感觉自己的机器比较慢,配置不好,所以最近想把之前的项目部署到实验室的服务器上,但是由于常不在实验室,所以在想能不能远程部署.因此今天专门研究了一下具体的过程,下面和大家分享一下.本人新手 ...

  2. 利用Powershell自动部署asp.net mvc网站项目 (一)

    这一篇中我们会写一些关于自动化部署的代码.我们会使用 Powershell 书写这类代码. 你将发现这篇文章中涉及的东西非常具体,有的要求甚至相当苛刻且可能不具有通用性.这是因为部署从来都是跟环境打交 ...

  3. 部署asp.net MVC 4项目到iis

    详细步骤如下: 1.安装WIN7的IIS功能 步骤: 控制面板->程序与功能->打开和关闭Windows功能,配置如下图所示[在Internet信息服务路径下勾选所需的就行,全部勾上也行. ...

  4. ASP.NET MVC 5项目

    图文详解远程部署ASP.NET MVC 5项目   话外篇: 由于感觉自己的机器比较慢,配置不好,所以最近想把之前的项目部署到实验室的服务器上,但是由于常不在实验室,所以在想能不能远程部署.因此今天专 ...

  5. 【适合公司业务】全网最详细的IDEA里如何正确新建【普通或者Maven】的Java web项目并发布到Tomcat上运行成功【博主强烈推荐】(类似eclipse里同一个workspace下【多个子项目】并存)(图文详解)

    不多说,直接上干货! 首先,大家要明确,IDEA.Eclipse和MyEclipse等编辑器之间的新建和运行手法是不一样的. 如果是在Myeclipse里,则是File -> new -> ...

  6. Ubuntu14.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 说在前面的话  首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu LTS \n \l r ...

  7. Ubuntu16.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 说在前面的话  首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu LTS \n \l r ...

  8. Ubuntu14.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 说在前面的话  首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu 14.04.4 LTS ...

  9. Ubuntu16.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 说在前面的话  首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu LTS \n \l r ...

随机推荐

  1. 在ASP.NET MVC5中建置以角色为基础的授权机制

    在前一篇贴文中,已探索过如何在MVC5中自定ASP.NET Identity,接下来要来试试在MVC5中如何运用 ASP.NET Identity来设定一个以 "角色"为基础的授权 ...

  2. iOS-UIViewController视图控制器跳转界面的几种常用方法

    一.最普通的视图控制器UIViewContoller 一个普通的视图控制器一般只有模态跳转的功能(ipad我不了解除外,这里只说iPhone),这个方法是所有视图控制器对象都可以用的,而实现这种功能, ...

  3. Libjingle库简介

    原文链接 国内现在很多语音聊天工具都是基于TURN方式实现的,包括YY.AK等等,这种方式对于服务器的性能要求很高,而且在用户量增大的时候,服务器压力也会越来越大,用户的语音质量也会受到很大影响.而基 ...

  4. PHP 7問世,2億網站效能翻倍有望

    經過10年的漫長等待,PHP 7終於正式問世了.這個影響全球8成網站的開發語言,一舉從5.0版,跳過了功敗垂成的6.0版,一舉進入了7.0時代. 20年前初夏,1995年6月8日,一位愛解決問題的C語 ...

  5. GO語言視頻教程

    第1课:https://github.com/Unknwon/go-fundamental-programming/blob/master/lectures/lecture1.md Go开发环境搭建h ...

  6. Linear or non-linear shadow maps?

    Quote: Original post by RobMaddisonI understand that, for aliasing mitigation, it might be beneficia ...

  7. 关于ios中得路径详细讲解

    利用create groups for any added folders 这样的方式表示的是将所有的资源都放在资源包得路径下,没有层次的概念利用create folder references fo ...

  8. Java int to String互转

    Integer.toString Integer.parseInt(lAyaNums);

  9. Determining if a point lies on the interior of a polygon

    Determining if a point lies on the interior of a polygon Written by Paul Bourke  November 1987 Solut ...

  10. OpenCV仿射变换+投射变换+单应性矩阵

    本来想用单应性求解小规模运动的物体的位移,但是后来发现即使是很微小的位移也会带来超级大的误差甚至错误求解,看起来这个方法各种行不通,还是要匹配知道深度了以后才能从三维仿射变换来入手了,纠结~ esti ...