HOWTO:使用 Web Deploy 便捷发布网站程序
gOxiA 最近找了一个 .NET 的开源网站程序,改吧改吧当作企业网站来用,该网站程序需要 SQL Server,由于改动比较简单所以没打算使用复杂的开发环境,WebMatrix 就成了不二之选!借助 Web Deploy 技术,在发布网站的同时还能将数据库一并发布,简单快捷,并且无需在 Web Server 上安装 FTP。
Web Deploy 是 IIS 的一个插件,最新版本是 v3.0 Beta,本篇日志将以 Web Deploy 2.0 为例与大家分享,Web Deploy 可以从 Microsoft Download Center 获得,下载地址如下:
Web deploy 2.0 简体中文版:http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=cfa66d50-90ce-49cba-b021-fefbd7a302ab
Web Deploy 的安全访问机制和访问接口都依赖于 IIS 的“管理服务”组件,所以要使用 Web Deploy 必须先安装 IIS 的“管理服务”。为此,首先打开“服务器管理器”添加角色服务,整个安装过程非常简单不再复述,可参考下图:
在“管理服务”安装完毕后即可执行 Microsoft Web Deploy 2.0 的安装程序,过程依旧非常简单一路“下一步”即可,过程可参考下图:
Web Deploy 安装完毕后,便可进行下一步的配置过程。首先请确认“管理服务”是否已经在运行,如下图所示:
之后进入“IIS 管理器用户”添加一个账号,这个账号是基于 IIS 的,并非 Windows 账号,所以在安全方面会更强一些。
下来,就可以为需要使用 Web Deploy 的站点添加管理账号了。选中一个站点,进入“IIS 管理器权限”,在操作窗体中点击“允许用户…”,之后从 IIS 管理器中添加用户即可。
最后,便可在 WebMatrix 中的发布设置中选择“Web Deploy”,其中“服务器”填写 Web Server 的 IP 地址,“用户名”、“密码”即是之前在“IIS 管理器用户”添加的信息,而“网站名称”需要填写的是与 IIS 里站点对应的名称,如果当前 WebMatrix 站点配置有数据库,那么还可以在发布设置下通过 Web Deploy 配置数据库信息,使发布网站的同时也将数据库传递给 Web Server。
上述步骤完成后点击“验证连接”,因为当前 Web Server 使用了自签名证书,所以会有如下图的警告提示,我们只需复选“为 WebMatrix 的将来会话保存此证书”,并点击“接受证书”便可继续连接。
Web Deploy 的功能非常强大,除了 WebMatrix,还能利用微软的 Visual Studio 实现更为便捷、高效、智能的网站发布。由于 gOxiA 不是专业的开发人员,所以 Web Deploy 更多的经验恐怕无法与大家分享。
最后,关于 Web Deploy 使用“IIS 管理器用户”时的目录安全权限方面的经验再与大家分享一下,根据实际的测试当使用“IIS 管理器用户”进行 Web Deploy 发布时,目录权限要添加“Local Service”账号有修改权限。此外,如果你希望使用 WebMatrix 来检查网站兼容性,那么还需要为 Web Server 上的网站所在目录添加“Service”账号有读取权限。