如何将文件上传到 Web 服务器?
本文将向您展示如何使用文件传输工具将您的网站发布到网上。
先决条件 | 您必须了解什么是 Web 服务器以及域名是如何工作的。您还必须了解如何设置基本环境以及如何编写简单的网页。 |
---|---|
目标 | 了解如何使用各种可用的文件传输工具将文件推送到服务器。 |
摘要
如果您已经构建了一个简单的网页(请参阅HTML 基础知识以获取示例),您可能希望将其发布到 Web 服务器上。在本文中,我们将讨论如何使用各种可用选项(如 SFTP 客户端、RSync 和 GitHub)来实现这一目标。
SFTP
有很多 SFTP 客户端。我们的演示涵盖了FileZilla,因为它免费且适用于 Windows、macOS 和 Linux。要安装 FileZilla,请访问FileZilla 下载页面,点击大的“下载”按钮,然后按照通常的方式从安装程序文件安装。
注意:当然还有很多其他选择。请参阅发布工具以获取更多信息。
打开 FileZilla 应用程序;您应该会看到类似以下内容
登录
在本例中,我们假设我们的托管服务提供商(提供我们 HTTP Web 服务器的主机服务)是一家名为“示例托管服务提供商”的虚构公司,其 URL 如下所示:mypersonalwebsite.examplehostingprovider.net
。
我们刚刚开通了一个帐户,并从他们那里收到了以下信息
恭喜您在示例托管服务提供商开通帐户。
您的帐户是:
demozilla
您的网站将显示在
demozilla.examplehostingprovider.net
要发布到此帐户,请使用以下凭据通过 SFTP 连接
- SFTP 服务器:
sftp://demozilla.examplehostingprovider.net
- 用户名:
demozilla
- 密码:
quickbrownfox
- 端口:
5548
- 要发布到 Web,请将您的文件放入
Public/htdocs
目录。
让我们先看看http://demozilla.examplehostingprovider.net/
- 正如您所见,目前那里什么也没有
注意:根据您的托管服务提供商的不同,大多数情况下,当您第一次访问您的 Web 地址时,您会看到一个页面,上面写着“此网站由[托管服务]托管”。
要将您的 SFTP 客户端连接到远程服务器,请按照以下步骤操作
- 从主菜单中选择文件 > 站点管理器…。
- 在站点管理器窗口中,按下新建站点按钮,然后在提供的空间中填写站点名称为demozilla。
- 在主机:字段中填写您的主机提供的 SFTP 服务器。
- 在登录类型:下拉菜单中,选择普通,然后在相关字段中填写您提供的用户名和密码。
- 填写正确的端口和其他信息。
您的窗口应该如下所示
现在按下连接以连接到 SFTP 服务器。
注意:确保您的托管服务提供商为您的托管空间提供 SFTP(安全 FTP)连接。FTP 本身不安全,您不应该使用它。
这里和那里:本地和远程视图
连接后,您的屏幕应如下所示(我们已连接到我们自己的示例以供您参考)
让我们检查一下您看到的内容
- 在左中间窗格中,您会看到您的本地文件。导航到您存储网站的目录(例如
mdn
)。 - 在右中间窗格中,您会看到远程文件。我们已登录到我们的远程 FTP 根目录(在本例中为
users/demozilla
) - 目前您可以忽略底部和顶部窗格。它们分别是显示您计算机和 SFTP 服务器之间连接状态的消息日志,以及您 SFTP 客户端与服务器之间每次交互的实时日志。
上传到服务器
我们的示例主机说明告诉我们“要发布到 Web,请将您的文件放入Public/htdocs
目录。”您需要在右窗格中导航到指定的目录。此目录实际上是您网站的根目录 - 您的index.html
文件和其他资源将存储在此处。
找到要放置文件的正确远程目录后,要将文件上传到服务器,您需要将它们从左窗格拖放到右窗格。
它们真的在线了吗?
到目前为止,一切顺利,但文件真的在线了吗?您可以通过在浏览器中返回到您的网站(例如http://demozilla.examplehostingprovider.net/
)来再次检查
我们的网站上线了!
Rsync
Rsync 是一种本地到远程的文件同步工具,通常在大多数基于 Unix 的系统(如 macOS 和 Linux)上可用,但 Windows 版本也存在。
它被认为比 SFTP 更高级的工具,因为默认情况下它是在命令行中使用的。一个基本的命令如下所示
rsync [-options] SOURCE [email protected]:DESTINATION
-options
是一个连字符后跟一个或多个字母,例如-v
表示详细错误消息,-b
表示创建备份。您可以在rsync 手册页(搜索“选项摘要”)中查看完整列表。SOURCE
是您要从中复制文件的本地文件或目录的路径。user@
是您要复制文件的远程服务器上用户的凭据。x.x.x.x
是远程服务器的 IP 地址。DESTINATION
是您要将目录或文件复制到的远程服务器上的位置的路径。
您需要从您的托管服务提供商处获取此类详细信息。
有关更多信息和进一步示例,请参阅如何使用 Rsync 在服务器之间复制/同步文件。
当然,与 FTP 一样,使用安全连接是一个好主意。在 Rsync 的情况下,您指定 SSH 详细信息以通过 SSH 建立连接,使用-e
选项。例如
rsync [-options] -e "ssh [SSH DETAILS GO HERE]" SOURCE [email protected]:DESTINATION
您可以在如何通过 SSH 使用 Rsync 复制文件中找到更多所需详细信息。
Rsync GUI 工具
Rsync 提供了 GUI 工具(对于那些不太习惯使用命令行的人)。Acrosync 就是这样一个工具,它适用于 Windows 和 macOS。
同样,您需要从您的托管服务提供商处获取连接凭据,但通过这种方式,您将拥有一个 GUI 来输入它们。
GitHub
GitHub 允许您通过GitHub Pages (gh-pages) 发布网站。
我们在发布您的网站文章(来自我们的Web 入门指南)中介绍了使用它的基础知识,因此我们不会在这里重复所有内容。
但是,值得知道的是,您也可以在 GitHub 上托管网站,但可以使用自定义域名。请参阅在 GitHub Pages 中使用自定义域名以获取详细指南。
其他上传文件的方法
FTP 协议是一种众所周知的发布网站的方法,但并非唯一的方法。以下是一些其他可能性
- Web 接口。充当远程文件上传服务的 Frontend 的 HTML 接口。由您的托管服务提供。
- WebDAV。HTTP 协议的扩展,允许更高级的文件管理。