[IIS] HOWTO:使用 Web Deploy 便捷发布网站程序
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”账号有读取权限。
[IIS] 在 IIS 7.x 上启用 32bit 应用支持
Internet Information Services (IIS)
在 IIS 7.x 上启用 32bit 应用支持
一个朋友的公司近期要新上线一套 Web 应用系统,这几天开始进行评估测试。这套网站基于 DotNET 2.0 开发,使用的是 MSSQL 数据库。于是我们选择了 Windows Web Server 2008 R2 作为操作系统,SQL Server 2008 R2 Express 作为数据库。系统环境的准备工作都很顺利,由于网站是成品所以需要先上传数据并通过浏览器进行安装。没想到在打开网站时提示如下图的错误信息:
从错误信息看,是没能找到 V5Mall.Run64.dll 文件。于是首先想到的是去网上搜索一下是否有相关解决方案,并让朋友尽快联系官方技术支持。一天过去了,对方也没给回复,网上找到的相关信息也都来自其官方论坛,说是因为权限问题导致的,但这点可以排除,我的设置是没问题的。比较离谱的是看到论坛最终的解答是让更换虚拟主机提供商!说此问题是因为虚拟主机提供商的服务器与他们的网站程序不兼容。我晕!这个解决办法明显不适合我们,并且也不是个解决办法!已经习惯了国内开发商的产品和服务质量……还是自己动手吧。
冷静分析了一下故障错误,既然提示“无法加载 DLL “V5Mall.Run64.dll”:找不到指定的模块。(异常来自 HRESULT:0x8007007E)。”那么首先检查是否有“V5Mall.Run64.dll”这个文件。经查网站下确实无此文件,并且官方也未提供。但是该网站程序又可以运行在“其他”服务器上,如:Windows Server 2003。说明网站程序确实与当前系统环境有兼容性问题,而这个兼容性问题应该是 64bit 操作系统所致。
回忆起自己曾摘抄过一篇文章《Configuring IIS to Run 32-bit Applications on 64-bit Windows (IIS 6.0)》,既然如此那 Windows Web Server 2008 R2 上的 IIS 7.5 也能够启用 32bit 应用支持,这样就可以避免程序去调用“V5Mall.Run64.dll”,使应用以 32bit 方式运行。
在 IIS 7.x 中,要“启用 32bit 应用程序支持”,需要对“应用程序池”进行配置。将“enable32BitAppOnWin64”设置为“True”。这样便将应用程序池的工作进程设置为 WOW64 模式,而在 WOW64 模式下,工作进程将仅加载 32 位应用程序的 32 位进程。为了避免影响其他网站,可为 32bit 应用程序的网站单独创建一个应用程序池。下面 gOxiA 将引导大家如何在 IIS 7.x 下启用 32bit 应用程序支持。
- 为 32bit 应用程序的网站单独创建一个应用程序池,操作过程省略……;
- 打开“Internet 信息服务 (IIS) 管理器”在左侧窗体中展开服务器列表,找到该网站对应的应用程序池;
- 选中应用程序池,并在右边操作窗体中点击“高级设置…”;
- 在“(常规)”设置中找到“启用 32 位应用程序”,并将其设置改为“True”
最后确定并完成操作。在 64bit 的 Windows 操作系统上,IIS 7.x 中“启用 32 位应用程序”的默认设置是“False”,为了方便配置和应用,可以通过“设置应用程序池默认设置…”进行统一的修改,这样以后新建的网站应用程序池都将启用 32bit 应用程序支持。
此外,我们也可以利用命令行进行设置,命令行参考如下:
大家如果也有类似的故障错误,可以用此办法解决。
[IIS] Microsoft WebMatrix 建站的最简单方式
WebMatrix 是生成、测试和部署网站的最简单方式。WebMatrix 安装只需要几分钟,并会将 Web 服务器、数据库和编程框架完美集成到单一集成体验中。从 WebMatrix 连接到 Visual Studio 或 SQL Server Express 以利用 Microsoft 专业工具和服务器。
WebMatrix 在今天发布了正式版本,正如前面官方的介绍一样,WebMatrix 的特点即一站式和简化的开发过程。WebMatrix安装后的体积非常之小,仅仅 25M 左右!但是却包含了一个 IIS 核心的轻量级 Web 服务器 – IIS Developer Express,支持简单的管理;一个基于文件的轻量级数据库 – SQL Server Compact Edition,也可以连接到其他 SQL Server 版本,以及 .NET 开发框架。
上图是 WebMatrix 启动后的向导页面,除了我们可以自己建立网站以外,还能够从 Web 库或模板创建网站。WebMatrix 同时还支持 PHP,只需简单的几步点击, PHP 即可安装并自动完成配置。
纯代码方式的页面开发,快速轻巧!也可以连接到 Visual Studio 使用高级开发环境。
更多功能和操作体验可以安装上 WebMatrix 试试!gOxiA 在第一时间安装上了 WebMatrix,简单试用之后无法掩饰自己的激动心情,火速转告需要在 Windows Client 上使用 Web 开发环境的兄弟姐妹们……实在是太方便了!有了 WebMatrix,我们无需再在 Windows Client 平台上搭建复杂的 Web 环境,只需要 WebMatrix 即可轻松开始我们的 Web 开发旅程。
即可访问:Microsoft WebMatrix