클라우드에서 Rust 프로젝트를 무료로 호스팅하는 방법
Emily Parker
Product Engineer · Leapcell

Axum은 강력하고 확장 가능한 웹 애플리케이션을 구축하기 위해 설계된 Rust로 구축된 최신의 인체 공학적이며 성능이 뛰어난 웹 프레임워크입니다. Rust의 강력한 타입 시스템과 비동기 지원을 활용하여 안전성, 신뢰성 및 고성능을 보장합니다.
이 게시물에서는 Axum을 Rust 예제로 사용하여 Leapcell에 얼마나 쉽게 배포할 수 있는지 보여 드리겠습니다.
Leapcell을 사용하는 이유
- Leapcell은 웹 호스팅을 위한 차세대 서버리스 플랫폼으로, Rust 프로젝트 전체를 클라우드에 배포할 수 있습니다.
- Leapcell은 실제 사용량에 대해서만 요금을 부과하므로 머신이 유휴 상태일 때는 1페니도 지불할 필요가 없습니다.
- Leapcell은 매달 초기화되는 넉넉한 무료 할당량을 제공합니다. 일상적인 사용량으로는 할당량을 초과할 가능성이 낮습니다.
1. GitHub에서 Axum 예제를 포크합니다.
리포지토리: Axum 예제
다음은 공식 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 대시보드로 이동하여 새 서비스 버튼을 클릭합니다.
"새 서비스" 페이지에서 방금 포크한 리포지토리를 선택합니다.
리포지토리에 액세스하려면 Leapcell을 GitHub 계정에 연결해야 합니다.
연결되면 리포지토리가 목록에 나타납니다.
3. 생성하는 동안 다음 값을 제공합니다.
Rust는 컴파일된 언어이므로 cargo build --release
를 사용하여 Rust 애플리케이션을 빌드합니다.
이 예제에서 프로젝트 이름은 app
이므로 ./target/release/app
으로 컴파일됩니다.
시작 명령은 cargo run --release
대신 ./target/release/app
이어야 합니다. cargo run
은 .cache
파일을 작성하고 Leapcell 환경은 해당 경로에 파일 작성을 지원하지 않기 때문입니다.
자신의 앱을 사용하는 경우 명령이 프로젝트와 일치하는지 확인하십시오. app
을 프로젝트 이름으로 바꾸고 올바른 시작 명령(예: ./target/release/myapp
)을 지정합니다.
필드 | 값 |
---|---|
런타임 | Rust(모든 버전) |
빌드 명령 | cargo build --release |
시작 명령 | ./target/release/app |
포트 | 8080 |
해당 필드에 이러한 값을 입력합니다.
4. 앱에 액세스:
배포가 완료되면 배포 페이지에 foo-bar.leapcell.dev와 같은 URL이 표시됩니다. 서비스 페이지에 표시된 도메인을 방문하십시오.
지속적인 배포
연결된 브랜치에 대한 모든 푸시는 자동으로 빌드 및 배포를 트리거합니다. 실패한 빌드는 안전하게 취소되어 다음 성공적인 배포까지 현재 버전이 실행된 상태로 유지됩니다.
Leapcell에서 배포를 시작해 보겠습니다!