使用http-server搭建静态文件服务器

简介: 本文介绍几种搭建静态文件服务器的方式,着重介绍基于node的http-server用法。

几种搭建静态文件服务器的方式

静态文件服务器常用来部署前端项目、本地开发前端项目、甚至来解决file协议的跨域问题,本文初步介绍几种搭建静态文件服务区的几种方式,并详细讲解一下http-server的用法。

1. Microsoft IIS

Microsoft IIS:即Internet Information Server(IIS),是允许在公共Intranet或Internet上发布信息的WEB服务器。如:WIMP(windows+Mysql/MariaDB+Perl/PHP/Python)网站环境


image.png

2. Apache

Apache:源于NCSA httpd服务器,经过多次修改,成为世界上最流行的WEB服务器软件之一,常见WEB配置环境如:WAMP、LAMP等


image.png

3. Tomcat

Tomcat Server服务器环境:是根据servlet和JSP规范进行执行的比绝大多数商业应用软件服务器要好,目前许多WEB服务器都是采用Tomcat Server环境


image.png

4. Nginx

Nginx:Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,也是现在比较主流的搭建web服务器方式


image.png

5. NodeJs-httpServer

NodeJs-httpServer:httpServer是一个命令行HTTP服务器工具,用于提供本地文件,类似于python -mSimpleHTTPServe


image.png

http-server介绍

http-server是一个简单的零配置命令行http服务器。它对于生产使用来说是足够强大的,但是它很简单,可以用于测试、本地开发和学习。如果你的项目很简单、低流量,甚至可以直接用它来部署你的前端应用。http-server启动原理与node框架express、koa2相同,都是使用了node的http模块的createServer功能,所以学习http-server也是学习node、node服务器原理的第一步。
git地址
node http模块

安装

通过npm全局安装

npm install http-server -g

注意:如果运行报错,请直接安装0.9.0版本 npm install -g http-server@0.9.0

这将全局安装http服务器,以便可以从命令行运行

用法

http-server [path] [options]

[path]默认为./public,如果文件夹不存在,则为./

可以访问http://localhost:8080来查看服务器

注意:默认情况下,缓存处于打开状态。添加-c-1作为禁用缓存的选项。

参数options

  • -p 或者 --port 端口设置,默认是 8080
  • -a 监听地址设置默认是 0.0.0.0
  • -d 是否显示文件列表 默认true
  • -i 显示自动索引 默认true
  • -g 或者 --gzip 默认false,当文件的gzip版本存在且请求接受gzip编码时,它将服务
    于./public/some-file.js.gz,而不是./public/some-file.js
  • -e 或者 --ext 如果没有提供默认文件扩展名(默认为html)
  • -s 或者 --silent 禁止控制台日志信息输出
  • –cors 允许跨域资源共享
  • -o 启动服务后打开默认浏览器
  • -c 设置缓存cache-control max-age heade存留时间(以秒为单位),示例:-c10是10秒,默认是3600秒,如果要禁用缓存就使用-c-1
  • -U 或者 --utc 使用 UTC格式,在控制台输出时间信息
  • -P 或者 --proxy 通过一个 url地址,代理不能通过本地解析的资源
  • -S 或者 --ssl 使用https协议
  • -C 或者 --cert ssl证书文件的路径,默认是cert.pem
  • -K 或者 --key ssl密匙文件路径
  • -h 或者 --help 显示帮助

注意:index.html 作为任何目录请求的默认文件

云顶云(yundingyun.com)是国内首批专注于云计算与大数据服务的提供商,致力于“让云计算更简单”。做为阿里云五星授权服务中心,云顶云致力于为企业和政府提供方案咨询、架构设计、部署实施、系统定制、运维托管、技术培训等全方位“4S”级公有云、私有云定制化服务。

相关文章
|
1月前
使用Netty实现文件传输的HTTP服务器和客户端
本文通过详细的代码示例,展示了如何使用Netty框架实现一个文件传输的HTTP服务器和客户端,包括服务端的文件处理和客户端的文件请求与接收。
32 1
使用Netty实现文件传输的HTTP服务器和客户端
|
12天前
|
前端开发 JavaScript 中间件
前端全栈之路Deno篇(四):Deno2.0如何快速创建http一个 restfulapi/静态文件托管应用及oak框架介绍
Deno 是由 Node.js 创始人 Ryan Dahl 开发的新一代 JavaScript 和 TypeScript 运行时,旨在解决 Node.js 的设计缺陷,具备更强的安全性和内置的 TypeScript 支持。本文介绍了如何使用 Deno 内置的 `Deno.serve` 快速创建 HTTP 服务,并详细讲解了 Oak 框架的安装和使用方法,包括中间件、路由和静态文件服务等功能。Deno 和 Oak 的结合使得创建 RESTful API 变得高效且简便,非常适合快速开发和部署现代 Web 应用程序。
|
2天前
|
存储 Oracle 关系型数据库
oracle服务器存储过程中调用http
通过配置权限、创建和调用存储过程,您可以在Oracle数据库中使用UTL_HTTP包发起HTTP请求。这使得Oracle存储过程可以与外部HTTP服务进行交互,从而实现更复杂的数据处理和集成。在实际应用中,根据具体需求调整请求类型和错误处理逻辑,以确保系统的稳定性和可靠性。
7 0
|
2月前
|
开发者
HTTP状态码是由网页服务器返回的三位数字响应代码,用于表示请求的处理结果和状态
HTTP状态码是由网页服务器返回的三位数字响应代码,用于表示请求的处理结果和状态
30 1
|
3月前
|
缓存 数据安全/隐私保护 UED
代理服务器在HTTP请求中的应用:Ruby实例
代理服务器在HTTP请求中的应用:Ruby实例
|
4月前
|
存储 运维 Java
函数计算产品使用问题之如何使用Python的requests库向HTTP服务器发送GET请求
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
104 8
|
3月前
|
移动开发 网络协议 编译器
实战案例3:C语言实现的HTTP服务器
实战案例3:C语言实现的HTTP服务器
140 0
|
4月前
|
缓存 程序员 开发者
HTTP状态码大全:如何读懂服务器的语言?
大家好,我是小米,今天我们来聊聊HTTP协议中的GET和POST请求。它们在数据传输方式、安全性和应用场景上有不同特点。本文将详细解析它们的区别和特点,帮助你更好地理解和运用这两种请求方式。让我们一起学习吧!
68 1
|
4月前
|
Shell Python
`pytest-httpserver`是一个pytest插件,它允许你在测试期间启动一个轻量级的HTTP服务器,并模拟HTTP请求和响应。
`pytest-httpserver`是一个pytest插件,它允许你在测试期间启动一个轻量级的HTTP服务器,并模拟HTTP请求和响应。
|
4月前
|
网络协议 安全 Python
我们将使用Python的内置库`http.server`来创建一个简单的Web服务器。虽然这个示例相对简单,但我们可以围绕它展开许多讨论,包括HTTP协议、网络编程、异常处理、多线程等。
我们将使用Python的内置库`http.server`来创建一个简单的Web服务器。虽然这个示例相对简单,但我们可以围绕它展开许多讨论,包括HTTP协议、网络编程、异常处理、多线程等。