2 个版本
新 0.1.1 | 2024 年 8 月 14 日 |
---|---|
0.1.0 | 2024 年 7 月 26 日 |
145 在 配置 中排名
每月 241 次下载
8KB
140 行
webserver-config
用于生成 Web 服务器配置文件的 Rust crate。支持的 Web 服务器包括 Apache2 和 nginx。
特性
- 非常简单:易于使用和集成,代码库小且易于管理。
- 可扩展:易于扩展以支持额外的 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 许可证。