本期的每周一库给大家带来的是Rust下的静态文件HTTP服务器

首先附上库的相关链接

  • Github repo: see
  • see的配置方法文档

see是一个静态文件的HTTP服务器,它的Github仓库介绍十分简单,包含的特性有

  • 支持HTTP/1和HTTP/2
  • 支持内容压缩(自动,gzip,deflate,br)
  • 支持多种配置方式

直观感觉see的功能类似于nginx,下面我们来尝试使用see库

开发环境

  • Windows 10
  • cargo --version:cargo 1.46.0-nightly (089cbb80b 2020-06-15)
  • rustc --version:rustc 1.46.0-nightly (6bb3dbfc6 2020-06-22)
通过可执行程序直接使用see

首先下载see的可执行文件,解压后需要在目录C:\Users\$USER_NAME\.see目录下创建一个名为.config.yml文件,文件内容写入

- server:    listen: 80    root: C:\Users\$USER_NAME\.see\www

再创建一个名为www的文件夹

文件结构如下图

【每周一库】 see - An HTTP server for hosting static fil_java

这里我们测试内容是:用see webserver来承载一个React App的网站,React部分的内容这里不做赘述,我们生成的React App是一个SPA静态页面,所以满足测试see的要求。

把通过npm run build命令生成的React App复制到刚才创建的C:\Users\$USER_NAME\.see\www文件夹中

然后在下载的可执行文件的目录下运行命令

see.exe

通过浏览器访问localhost:80,参考我们上面配置的config.yml文件中定义的端口,可以看到see成功承载了React App

【每周一库】 see - An HTTP server for hosting static fil_java_02

see还支持更复杂的配置,类似于nginx.conf中的选项,更多的内容可以参考see的文档进行测试。