» Rust:使用Rocket构建REST API » 3. 部署 » 3.1 独立部署

独立部署

调整 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 发送一些请求过去,你将看到一些成功响应。

干得漂亮!⭐️

上页下页