独立部署
调整 address 和 port
添加 address
配置项,infrastructure/config/mod.rs:
@@ -24,6 +24,7 @@ pub struct CacheConfig {
#[derive(Debug, Deserialize, Serialize)]
pub struct ApplicationConfig {
+ pub address: String,
pub port: i32,
pub page_size: u32,
pub token_secret: String,
置入配置值,config.toml:
@@ -1,4 +1,5 @@
[app]
+address = "127.0.0.1"
port = 8000
page_size = 5
token_secret = "I_Love_LiteRank"
应用这些配置值,main.rs:
@@ -17,7 +17,11 @@ fn rocket() -> _ {
let wire_helper = application::WireHelper::new(&c).expect("Failed to create WireHelper");
let r = adapter::make_router(&wire_helper);
rocket::build()
- .configure(rocket::Config::figment().merge(("port", c.app.port)))
+ .configure(
+ rocket::Config::figment()
+ .merge(("port", c.app.port))
+ .merge(("address", c.app.address)),
+ )
.manage(r)
.mount(
"/",
构建步骤
添加 Makefile:
# Binary name
BINARY_NAME=lrbooks
.PHONY: lint
lint:
@echo "Linting..."
cargo clippy
build:
@echo "Building $(BINARY_NAME)..."
cargo build --release --bin $(BINARY_NAME)
Clippy 是 Rust 生态中知名的 lint 工具。
更新 Cargo.toml 以指定 bin
:
@@ -3,6 +3,10 @@ name = "lr_rest_books_rust"
version = "0.1.0"
edition = "2021"
+[[bin]]
+name = "lrbooks"
+path = "src/main.rs"
+
执行 make build
以构建二进制文件:
make build
这等同于 cargo build --release --bin lrbooks
。它将在项目 target/release
目录中创建一个名为 lrbooks
的二进制文件。
确保你根目录中有 config.toml
文件,且所有数据库都是启动就绪的状态。
然后,你可以按独立服务器的方式运行它:
./target/release/lrbooks
你将看到如下启动信息:
🚀 Rocket has launched from http://127.0.0.1:8000
用 curl 发送一些请求过去,你将看到一些成功响应。
干得漂亮!⭐️