几种搭建静态文件服务器的方式
静态文件服务器常用来部署前端项目、本地开发前端项目、甚至来解决file协议的跨域问题,本文初步介绍几种搭建静态文件服务区的几种方式,并详细讲解一下http-server的用法。
1. Microsoft IIS
Microsoft IIS:即Internet Information Server(IIS),是允许在公共Intranet或Internet上发布信息的WEB服务器。如:WIMP(windows+Mysql/MariaDB+Perl/PHP/Python)网站环境
2. Apache
Apache:源于NCSA httpd服务器,经过多次修改,成为世界上最流行的WEB服务器软件之一,常见WEB配置环境如:WAMP、LAMP等
3. Tomcat
Tomcat Server服务器环境:是根据servlet和JSP规范进行执行的比绝大多数商业应用软件服务器要好,目前许多WEB服务器都是采用Tomcat Server环境
4. Nginx
Nginx:Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,也是现在比较主流的搭建web服务器方式
5. NodeJs-httpServer
NodeJs-httpServer:httpServer是一个命令行HTTP服务器工具,用于提供本地文件,类似于python -mSimpleHTTPServe
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”级公有云、私有云定制化服务。