Web Deploy发布网站及常见问题解决方法(图文)
作者:mdxy-dxy 时间:2023-11-05 00:05:40
Web Deploy对于ASP.NET开发人员来说绝不陌生,在开完完成后我们部署网站的过成功使用Web Deploy可以很便捷的实现从Visual Studio一键部署到服务器,并且可以自动判断文件是否有更改,并进行相应的修改和删除。由于最近恰好入手一台Windows Server 2008 R2的服务器,所以周良就在这上面进行了一番测试研究。
安装Web Deploy
安装的详细过程这里就不再赘述,主要是确保以下几项服务安装正确。
1. 安装之前确认服务器安装了管理服务:IIS-Add Role Service
2. 下载Web Deploy
下载地址:http://www.iis.net/downloads/microsoft/web-deploy
3. 点击安装,如果你不需要PHP,可以将PHP相关的全部取消,点击I accept就可以进行下载和自动安装。如果是手动在安装一定要确保Web Deploy的所有组件都安装上,否则在使用的时候就会产生404错误。
4. 安装完成后,为网站创建一个非管理员的账号,同时将IIS中Management Service中“Enable Remote connections”勾选。
5. 配置Configure Web Deploy Publishing
6. 打开服务器的8127端口
使用Web Deploy的常见问题
安装完成后就可以开始在Visual Studio中开始配置连接。在刚开始使用的时候周良曾遇到如下的问题,这里附上我的解决方法,欢迎大家讨论:错误的信息可以通过查看服务器上的“Web Deploy”事件日志。
错误一:Not able to log on the user ‘.\WDeployConfigWriter'
第一次安装好之后,未检查用户是否创建正确所以出现了无法登陆的情况,这个问题是由于服务器用户组中WDeployAdmin 和WDeployConfigWriter用户未能创建。这种情况下,需要我们手动去创建两个用户,并进行相关权限的配置。具体步骤如下:
1. 在服务器本地用户中创建 WDeployAdmin 和 WDeployConfigWriter. 并设置密码(第四步还将用到)。二者都同时勾选“密码永不过期“ 。
2. 添加WDeployAdmin 到Administrators组
3. 打开C:\\Windows\system32\inetsrv\config—属性—安全,添加WDeployConfigWriter并赋予修改和写权限
4. 打开IIS,选择”Management Service Delegation ( 管理服务委派)”将这里所有用户名为WDeploy* 的点击右侧的“编辑”—“设置”填写第一步添加的用户名和密码。
设置完成以后,就能够正常使用Web Deploy进行连接,如果使用仍然有错误,那么继续检查事件日志。
错误二:System.UnauthorizedAccessException: 试图执行未经授权的操作。
出现此类问题通常是由于创建用户时未授权造成。
首先检查错误一中的第二,三步中提到的授权是否正常。
然后重新配置用户的授权。
在IIS中右键网站-选Deploy菜单中的Configure Web Deploy Publishing
选择Windows,点击“Select”
;
输入创建的非管理员的Deploy用户名
周良到此步为止,问题解决。
接下来就可以通过VS进行连接发布。