5个版本 (3个重大变更)
0.6.1 | 2024年2月11日 |
---|---|
0.6.0 |
|
0.5.0 | 2022年8月29日 |
0.4.1 | 2022年5月26日 |
0.0.0 |
|
#223 in HTTP服务器
每月39次下载
在 6 个 软件包中使用 (5个直接使用)
560KB
11K SLoC
库恩
一个前瞻性的快速Web服务器,旨在高效地满足 您的 需求。
库恩是一个 rusty,开源,可扩展的Web应用程序框架,具有 原生异步;零停机时间;以及 安全 & 快速默认设置。
库恩内置电池(可选默认设置),支持 自动HTTPS证书,HTTP/3,io_uring无处不在,反向代理,自动HTTP/2推送,内存缓存(适当的缓存失效),由 简单的CLI 提供服务器通信,并通过Markdown和 Chute 实现轻松创建网站。
如果您正在寻找一个 可执行文件 来运行您的Web服务器,请参阅 Mölla。使用Mölla,您可以配置您的宿主,添加搜索引擎,身份验证以及其他库恩生态系统的部分。更多信息可以在 网站上 找到。
当前状态
有一个稳定的API可用,该软件包位于 crates.io。您可以在 网上 查看最新文档。
当使用Mölla时,您可以访问Kvarn的所有扩展和大部分功能。如果您需要开发自定义扩展(例如icelk.dev上的这些扩展),您需要自行编译Kvarn。幸运的是,Mölla使添加自定义扩展变得容易。
要使用最新和最好的版本,可以将Kvarn作为git依赖项添加,尽管建议使用最新版本。
[dependencies]
kvarn = { git = "https://github.com/Icelk/kvarn" }
依赖项
为了提高安全性、构建时间、可靠性和速度,我尽量减少使用依赖项。
两个主要依赖项是tokio
(异步网络、文件访问和扩展的异步运行时)和rustls
(用于加密,如果您想运行不安全的(通常是本地的)Web服务器,则为可选)。默认启用brotli
和flate2
以提供压缩,但可以关闭。 h2
提供可选(但强烈推荐)的HTTP/2协议支持。
更多详细信息,请参阅kvarn.org。
部署到生产环境
请参阅sample.service,了解如何配置systemd使用kvarnctl来管理Kvarn。
现在,您可以使用systemctl --user reload kvarn
或类似命令重新加载服务器,如果您已更改配置或重新编译(如果需要)。这确保了(在Unix上)无停机时间。甚至不到一毫秒。
安装
Mölla是开始使用Kvarn的推荐方式。您可以在发布页面下载它和其他Kvarn工具(kvarnctl
和chute
)的Linux和macOS版本。
对于Linux的Kvarn chute下载,请在此处下载顶部作业中的工件。
kvarnctl
也作为CI构建提供。
文档
主分支的文档可以在doc.kvarn.org找到。
要使用有关哪些cargo功能启用代码的信息来记录,请将环境变量RUSTDOCFLAGS
设置为--cfg docsrs
(例如,在Fish中set -x RUSTDOCFLAGS --cfg docsrs),然后运行
cargo +nightly doc
。
变更日志
请参阅变更日志。
贡献
此库以及此存储库中的所有其他子项目均在Apache License 2.0下分发。因此,所有贡献也必须如此。
除非明确说明,否则所有图像和徽标的所有权均受保留。如果您合理地给予信用,则可以自由使用它们。我保留随时要求您删除任何使用情况的权利。
依赖项
~9–25MB
~396K SLoC