spa-server静态 web 页面托管服务

联合创作 · 2023-09-23 10:04

本软件是用来创建一个托管静态web页面的服务,目标是使单页应用部署简便、开销少、性能高。

  • 基于 Hyper 和 warp 构建。
  • SSL 基于 Rustls。
  • 服务器端缓存、客户端缓存(Cache-Content)、Gzip压缩。
  • SPA 版本管理, 仅需要一个 http 请求就能实现版本回滚和更新。
  • 支持热更新(Mac and Linux)。
  • 支持 CORS 跨域
  • http/https 同时服务(http 也可返回 redirect https)。
  • 支持 Docker 镜像(压缩后大小:32M)

服务跑起来

配置文件说明: config.release.conf.

可以通过修改环境变量 SPA_CONFIG=${config_path}, 来更改配置文件地址。

通过源码

git clone git@github.com:timzaak/spa-server.git
cd spa-server
git submodule init && git submodule update
cp config.release.conf config.conf # please remember to change `file_dir` in config.conf
cargo run --bin spa-server 

通过镜像

docker run -d -p 80 -p 443 -v $HOST_VOLUME:/data -v $CONFIG:/config.conf timzaak/spa-server:latest

如何部署静态文件

当服务跑起来后,可将 SPA 文件夹复制到 admin server 指定文件夹, (api doc).

scp $SPA_DIRECTORY user@ip:$(curl "http://$ADMIN_SERVER/upload/path?domain=$DOMAIN" -H "Authorization: Bearer $TOKEN")

等文件传输完毕, 发起 HTTP 请求更新 SPA 版本。

curl "http://$ADMIN_SERVER/update_version?domain=$DOMAIN&version=$VERSION" -H "Authorization: Bearer $TOKEN"

至此,部署完毕!

浏览 9
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报