我曾经使用 discountasp.net,我可以使用 Visual Studio 2008 将网站直接“发布”到网络主机。我现在正在使用专用服务器(准确地说是 Amazon EC2 Windows),我应该如何设置 Web 服务器以便可以直接从 VS 2008 部署网站?我尝试设置 FTP 服务器,但无法正常工作。
谢谢!
我曾经使用 discountasp.net,我可以使用 Visual Studio 2008 将网站直接“发布”到网络主机。我现在正在使用专用服务器(准确地说是 Amazon EC2 Windows),我应该如何设置 Web 服务器以便可以直接从 VS 2008 部署网站?我尝试设置 FTP 服务器,但无法正常工作。
谢谢!
这是来自官方 Amazon EC2 开发者站点的教程(“像典型的远程服务器一样将 ASP.NET 应用程序部署到 Amazon EC2。本教程向您展示如何”)
如果您需要直接从 Microsoft Visual Studio 部署 ASP.NET 应用程序,您可以使用 Microsoft Visual Studio 2005 及更高版本中提供的复制网站向导。
复制网站向导允许您使用文件传输协议 (FTP) 或 Microsoft Office FrontPage 服务器扩展部署应用程序。要使用 FTP,您必须安装 IIS 的 FTP 组件,并使用 ec2-authorize 命令允许端口 20 和 21 通过防火墙。
[...]
借助 Amazon EC2,您可以在 Amazon 数据中心中运行的专用 Windows 实例上部署 ASP.NET 应用程序。要部署应用程序,您需要基于 AMI 模板创建实例。创建实例后,您可以访问管理员密码,然后为服务器配置防火墙规则和远程桌面。要提供持久存储,您需要创建一个 EBS 卷,然后设置 IIS 和 ASP.NET 应用程序。您可以使用 Visual Studio 等工具或通过 FTP 将 ASP.NET 应用程序部署到服务器。
来自:在 Amazon EC2 上部署 ASP.NET 应用程序(通过 archive.org)
如果您想在 Amazon EC2 上运行 ASP.NET 应用程序,您可能需要考虑使用AppHarbor。AppHarbor 让您可以利用 Amazon 的可扩展且稳定的平台,而无需自己安装、管理和更新服务器。AppHarbor 还可以使用您选择的 Git、Mercurial、Subversion 或 TFS 使部署变得轻而易举。
首先是一些基础知识 -
您是否已验证可以使用标准 FTP 客户端连接到 EC2 服务器上的 FTP 帐户?
您在服务器上使用什么 FTP 服务器?
您是否检查过 FTP 服务器支持哪些连接类型,主动或被动(或两者)。我认为发布网站向导将使用在您的 IE 浏览器 FTP 设置(工具 - 高级 - 使用被动 FTP)中指定的任何连接类型,默认是使用被动 FTP。
更新:另请参阅@Splattne关于在 ec2 防火墙上打开端口 20/21 的答案粗体文本
您可以在 IIS 中配置 FTP 服务器以接受使用您的 Windows 帐户的连接。请注意,您必须将 FTP 帐户的“主”目录指向您的 web 目录或其父目录(如果您使用父目录,您将配置系统以在登录时导航到 web 目录)。
这并不特定于 IIS,您还可以使用 IpSwitch 的付费服务器或 FileZilla 的免费服务器。
如果您无法使 FTP 工作,则可能是权限问题。请注意,这样做的“老派”方式只是发布到本地目录,压缩整个目录,然后将压缩的存档复制到服务器。在您让 FTP 工作之前,它可能会帮助您度过难关。