Leapcell에 Rust 앱 배포하기
아래 해결 방법으로 문제가 해결되지 않으면 Leapcell Discord 커뮤니티에 가입하여 추가 지원을 받으세요.
몇 단계만 거치면 Leapcell에서 Axum 프레임워크를 사용하여 Rust 앱을 배포할 수 있습니다. 예제 앱을 사용하거나 직접 배포할 수 있습니다.
이것은 가장 간단한 Rust 배포 예제입니다. 다른 Rust 예제는 이 토대 위에 구축할 수 있습니다.
계속하려면 GitHub 계정이 필요합니다. 아직 계정이 없으면 GitHub 웹사이트에서 만들 수 있습니다.
1. GitHub에서 Axum 예제를 포크합니다.
Repo: Axum example
다음은 Axum 공식 문서에서 가져온 해당 리포지토리의 main.rs 파일입니다.
use axum::{response::Html, routing::get, Router};
#[tokio::main]
async fn main() {
// build our application with a route
let app = Router::new().route("/", get(handler));
// run it
let listener = tokio::net::TcpListener::bind("127.0.0.1:8080")
.await
.unwrap();
println!("listening on {}", listener.local_addr().unwrap());
axum::serve(listener, app).await.unwrap();
}
async fn handler() -> Html<&'static str> {
Html("<h1>Hello, World!</h1>")
}
2. Leapcell 대시보드에서 서비스를 만들고 새 리포지토리를 연결합니다.
Leapcell 대시보드로 이동하여 New Service 버튼을 클릭합니다.

"New Service" 페이지에서 방금 포크한 리포지토리를 선택합니다.

3. 생성 중 다음 값을 제공합니다.
Rust는 컴파일된 언어이므로 cargo build --release를 사용하여 Rust 애플리케이션을 빌드합니다.
이 예제에서는 프로젝트 이름이 app이므로 ./target/release/app로 컴파일됩니다.
시작 명령은 cargo run --release 대신 ./target/release/app여야 합니다. cargo run은 .cache 파일을 작성하고 Leapcell 환경은 해당 경로에 파일 작성을 지원하지 않기 때문입니다. 자세한 내용은 Service Storage를 참조하세요.
자체 앱을 사용하는 경우 명령이 프로젝트와 일치하는지 확인하십시오. app을 프로젝트 이름으로 바꾸고 올바른 시작 명령(예: ./target/release/myapp)을 지정합니다.
| Field | Value |
|---|---|
| Runtime | Rust (Any version) |
| Build Command | cargo build --release |
| Start Command | ./target/release/app |
| Port | 8080 |
해당 필드에 다음 값을 입력합니다.

4. 앱에 액세스:
배포되면 배포 페이지에 foo-bar.leapcell.dev와 같은 URL이 표시됩니다. 서비스 페이지에 표시된 도메인을 방문하세요.
