部署 #
Docker 部署 #
Dockerfile #
dockerfile
FROM rust:1.70 as builder
WORKDIR /app
COPY Cargo.toml Cargo.lock ./
COPY src ./src
RUN cargo build --release
FROM debian:bullseye-slim
RUN apt-get update && apt-get install -y \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /app/target/release/myapp /usr/local/bin/myapp
EXPOSE 8080
CMD ["myapp"]
构建和运行 #
bash
docker build -t myapp .
docker run -p 8080:8080 myapp
反向代理 #
Nginx 配置 #
nginx
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
环境变量 #
rust
use std::env;
#[actix_web::main]
async fn main() -> std::io::Result<()> {
let host = env::var("HOST").unwrap_or_else(|_| "127.0.0.1".to_string());
let port = env::var("PORT")
.unwrap_or_else(|_| "8080".to_string())
.parse()
.unwrap_or(8080);
HttpServer::new(|| App::new())
.bind(format!("{}:{}", host, port))?
.run()
.await
}
下一步 #
继续学习 性能优化,了解性能调优!
最后更新:2026-03-29