如何设置本地测试服务器?
本文介绍如何在您的机器上设置简单的本地测试服务器,以及如何使用它的基本知识。
先决条件 | 您需要首先了解 互联网是如何工作的,以及 什么是 Web 服务器。 |
---|---|
目标 | 您将学习如何设置本地测试服务器。 |
本地文件与远程文件
在大多数学习区域中,我们建议您直接在浏览器中打开示例 - 这可以通过双击 HTML 文件、将其拖放到浏览器窗口或选择文件 > 打开... 并导航到 HTML 文件来完成。 有很多方法可以实现这一点。
如果 Web 地址路径以file://
开头,后面跟着本地硬盘上文件的路径,则使用本地文件。 相反,如果您查看托管在 GitHub 上(或其他远程服务器上的示例)的示例,Web 地址将以http://
或https://
开头,表示文件已通过 HTTP 接收。
测试本地文件的问题
运行简单的本地 HTTP 服务器
为了解决异步请求的问题,我们需要通过本地 Web 服务器运行这些示例来测试它们。
在代码编辑器中使用扩展
如果您只需要 HTML、CSS 和 JavaScript,并且不需要服务器端语言,最简单的方法可能是检查代码编辑器中的扩展。 除了自动为您的本地 HTTP 服务器安装和设置之外,它们还可以与您的代码编辑器很好地集成。 在 HTTP 服务器中测试本地文件可能只需单击一下即可。
对于 VSCode,您可以查看以下免费扩展
vscode-preview-server
。 您可以在其 主页 上查看它。
使用 Node.js
Node.js http-server
模块是将 HTML 文件托管在任何目录中最简单的方法。
要使用该模块
- 运行以下命令以检查 Node.js 是否已安装bash
node -v npm -v npx -v
- 如果 Node.js 未安装,您需要安装它。 请遵循 Node.js 文档中的下载说明,然后再次运行上述命令以检查安装是否成功。
- 假设该目录为
/path/to/project
。 运行以下命令以启动服务器这将托管bashnpx http-server /path/to/project -o -p 9999
/path/to/project
目录中的所有文件,位于localhost:9999
。 选项-o
将在 Web 浏览器中打开index.html
页面。 如果index.html
不存在,则会显示该目录。
使用 Python
另一种实现此方法的方法是使用 Python 的http.server
模块。
注意:旧版本的 Python(最高版本 2.7)提供了一个名为SimpleHTTPServer
的类似模块。 如果您使用的是 Python 2.x,您可以按照本指南进行操作,将所有使用http.server
的地方替换为SimpleHTTPServer
。 但是,我们建议您使用最新版本的 Python。
为此
- 安装 Python。 如果您使用的是 Linux 或 macOS,它应该已经在您的系统上可用。 如果您是 Windows 用户,您可以从 Python 主页获取安装程序,并按照说明进行安装
- 转到 python.org
- 在下载部分,单击 Python "3.xxx" 的链接。
- 在页面底部,单击Windows 安装程序链接下载安装程序文件。
- 下载完成后,运行它。
- 在第一个安装程序页面上,确保选中“将 Python 3.xxx 添加到 PATH”复选框。
- 单击安装,然后在安装完成后单击关闭。
- 打开您的命令提示符(Windows)/终端(macOS/Linux)。 要检查 Python 是否已安装,请输入以下命令bash
python -V # If the above fails, try: python3 -V # Or, if the "py" command is available, try: py -V
- 这应该返回一个版本号。 如果一切正常,请使用
cd
命令导航到包含要测试的网站代码的目录。bash# include the directory name to enter it, for example cd Desktop # use two dots to jump up one directory level if you need to cd ..
- 在该目录中输入命令以启动服务器bash
# If Python version returned above is 3.X # On Windows, try "python -m http.server" or "py -3 -m http.server" python3 -m http.server # If Python version returned above is 2.X python -m SimpleHTTPServer
- 默认情况下,这将在本地 Web 服务器上运行该目录的内容,端口为 8000。 您可以通过在 Web 浏览器中访问 URL
localhost:8000
来访问此服务器。 在这里,您将看到该目录的内容列表 - 单击要运行的 HTML 文件。
注意:如果您已经在端口 8000 上运行了其他内容,您可以通过运行服务器命令后跟一个备用端口号来选择另一个端口,例如python3 -m http.server 7800
(Python 3.x)或python -m SimpleHTTPServer 7800
(Python 2.x)。 然后,您可以通过localhost:7800
访问您的内容。
在本地运行服务器端语言
处理服务器端语言(如 Python、PHP 或 JavaScript)的最佳方法取决于您使用的服务器端语言,以及您是使用 Web 框架还是“独立”代码。
如果您使用的是 Web 框架,通常该框架会提供自己的开发服务器。 例如,以下语言/框架附带开发服务器
- Python Web 框架,例如 Django、Flask 和 Pyramid。
- Node/JavaScript 框架,如 Express Web 框架(Node.js/JavaScript)
- PHP 有自己的 内置开发服务器bash
cd path/to/your/php/code php -S localhost:8000
如果您没有直接使用服务器端框架或提供开发服务器的编程语言,Python 的http.server
模块也可以用于测试用 Python、PHP、JavaScript 等语言编写的服务器端代码,方法是调用服务器端通用网关接口 (CGI) 脚本。 有关如何使用此功能的示例,请参见 realpython.com 上的如何在 Python 代码中用一行代码启动 HTTP 服务器中的 通过通用网关接口 (CGI) 远程执行脚本。