#web-server #nginx #apache2

webserver-config

Rust 的一个 crate,用于生成 Web 服务器的配置文件

2 个版本

0.1.1 2024 年 8 月 14 日
0.1.0 2024 年 7 月 26 日

145配置 中排名

Download history 98/week @ 2024-07-21 32/week @ 2024-07-28 1/week @ 2024-08-04 110/week @ 2024-08-11

每月 241 次下载

MIT 许可证

8KB
140

webserver-config

用于生成 Web 服务器配置文件的 Rust crate。支持的 Web 服务器包括 Apache2 和 nginx。

version downloads license

特性

  • 非常简单:易于使用和集成,代码库小且易于管理。
  • 可扩展:易于扩展以支持额外的 Web 服务器或配置选项。
  • 无依赖项:不依赖于外部 crate,确保轻量级和快速的性能。

安装

将此 crate 添加到您的 Cargo.toml 或使用以下命令

cargo add webserver-config

使用方法

以下是一些使用此 crate 为 Apache2 和 nginx Web 服务器生成配置的示例。

Apache2 配置

以下是生成 Apache2 Web 服务器配置的方法

let mut config = Config::new();

let mut block = Block::new("VirtualHost", "*:80");
block.modify_config(|c| {
	c.add("ServerName", "example.com");
	c.add_multi("ServerAlias", vec!["www.example.com", "example.net", "www.example.net"]);
	c.add("DocumentRoot", "/var/www/example");
});
config.add_block(block);

println!("{}", config.to_apache());

上面的代码将产生以下输出

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com example.net www.example.net
    DocumentRoot /var/www/example
</VirtualHost>

nginx 配置

以下是生成 nginx Web 服务器配置的方法

let mut config = Config::new();

let mut block = Block::new_simple("server");
block.modify_config(|c| {
	c.add("listen", "80");
	c.add("listen", "[::]:80");
	c.add_multi("server_name", vec!["example.com", "www.example.com"]);
	c.add("root", "/var/www/example");
});
config.add_block(block);

println!("{}", config.to_nginx());

上面的代码将产生以下输出

server {
    listen 80;
    listen [::]:80;
    server_name example.com www.example.com;
    root /var/www/example;
}

贡献

欢迎贡献!请打开一个问题或提交一个拉取请求。

许可证

本项目采用 MIT 许可证。

无运行时依赖项