话外篇:html
因为感受本身的机器比较慢,配置很差,因此最近想把以前的项目部署到实验室的服务器上,可是因为常不在实验室,因此在想能不能远程部署。所以今天专门研究了一下具体的过程,下面和你们分享一下。本人新手,还望大虾勿喷,有什么问题,还望高手指点。web
1、本文实验环境:数据库
Windows Server 2012 R2浏览器
SQL Server 2012 Express安全
Visual Studio 2013服务器
项目为:ASP.NET MVC 5.0,使用的是LocalDB数据库mvc
2、使用Web Deploy远程部署的条件post
Web Deploy能够用于本地和远程部署Web项目,使用Web Deploy部署时有以下要求:url
1.须要安装Web Deploy ,下面地址:http://www.iis.net/downloads/microsoft/web-deployspa
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用户添加到选择的站点权限中:
最后点击肯定,配置结束。
3、使用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,所以咱们不用进行数据库配置。
4、配置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了。附图两张: