무료로 Golang Echo 프로젝트 호스팅하는 방법
Grace Collins
Solutions Engineer · Leapcell

Go Echo 소개
Echo는 Go 언어를 위해 설계된 고성능, 확장 가능하며 미니멀한 웹 프레임워크입니다. 높은 속도, 작은 메모리 사용량, 그리고 HTTP/2에 대한 뛰어난 지원으로 잘 알려져 있습니다.
Echo의 핵심 디자인 철학은 "적을수록 많다"입니다. 개발자가 강력한 RESTful API 및 웹 애플리케이션을 신속하게 구축할 수 있도록 간결하면서도 강력한 API를 제공합니다.
뛰어난 성능과 단순한 디자인 덕분에 Echo는 웹 서비스를 구축하는 많은 Go 개발자들에게 최고의 선택 중 하나가 되었습니다.
Go Echo를 온라인 서비스로 배포하는 방법?
Go Echo 프로젝트를 온라인으로 배포하는 전통적인 방법은 DigitalOcean 또는 AWS EC2와 같은 가상 사설 서버(VPS)를 구매하는 것입니다.
이 방법은 유연성을 제공하지만, 서비스에 트래픽이 전혀 발생하지 않더라도 서버를 구매하는 순간부터 비용이 발생합니다. 비용 효율적인 옵션은 아닙니다.
더 나은 배포 솔루션: Leapcell
Leapcell은 웹 앱 배포 플랫폼입니다. 혁신적인 가격 모델을 제공합니다. 서비스가 요청을 처리할 때만 요금이 청구됩니다.
이는 Echo 프로젝트가 유휴 상태이고 요청을 받지 않을 때 한 푼도 지불하지 않는다는 것을 의미합니다. 이 "사용한 만큼 지불" 모델은 Go Echo 프로젝트의 운영 비용을 크게 줄여주며, 실제 사용량에 대해서만 비용을 지불하도록 보장합니다.
아래에서는 Leapcell에 새로운 Go Echo 프로젝트를 쉽게 배포하는 간단한 예제를 단계별로 안내합니다.
1. Echo 프로젝트 생성
시작하기 전에 Go 언어 환경이 설치되어 있는지 확인하십시오.
프로젝트 디렉터리 생성 및 Go 모듈 초기화
터미널을 열고 새 프로젝트 디렉터리를 생성한 후 해당 디렉터리로 이동하십시오.
mkdir my-echo-app cd my-echo-app
다음으로 go mod init
명령을 사용하여 Go 모듈을 초기화하십시오. example.com/myechoapp
을 프로젝트에 원하는 이름으로 대체할 수 있습니다.
go mod init example.com/myechoapp
Go Echo 프레임워크 설치
go get
명령을 사용하여 Echo 버전 4를 설치하십시오.
go get github.com/labstack/echo/v4
메인 프로그램 파일 생성: main.go
프로젝트 디렉터리 루트에 main.go
라는 파일을 생성하고 다음 코드를 붙여넣으십시오. 이 코드는 단일 루트 경로 /
에서 "Hello, Leapcell!"을 반환하는 최소한의 Go Echo 애플리케이션입니다.
package main import ( "net/http" "os" "github.com/labstack/echo/v4" "github.com/labstack/echo/v4/middleware" ) func main() { // Echo 인스턴스 생성 e := echo.New() // 미들웨어 e.Use(middleware.Logger()) e.Use(middleware.Recover()) // 라우트 => 핸들러 e.GET("/", func(c echo.Context) error { return c.String(http.StatusOK, "Hello, Leapcell!") }) // Leapcell이 제공하는 포트 가져오기, 로컬 실행 시 기본값은 8080 port := "8080" // 서버 시작 e.Logger.Fatal(e.Start(":" + port)) }
터미널에서 다음 명령을 실행하여 Echo 서비스를 시작하십시오.
go run main.go
서비스가 포트 8080에서 시작되는 것을 볼 수 있습니다. 이제 브라우저를 열거나 curl
을 사용하여 http://localhost:8080
을 방문하면 "Hello, Leapcell!" 출력을 볼 수 있습니다.
2. GitHub으로 프로젝트 푸시
Leapcell은 GitHub 리포지토리에서 코드를 읽어 프로젝트를 배포합니다. Leapcell이 액세스하려면 프로젝트를 GitHub으로 푸시해야 합니다.
GitHub 계정 생성
아직 GitHub 계정이 없다면 github.com으로 이동하여 가입하십시오.
등록 후 다음 단계에 대해서는 공식 GitHub 문서를 참조하십시오.
3. Leapcell 대시보드에서 서비스 생성 및 Echo 리포지토리 연결
Leapcell 대시보드로 이동하여 새 서비스 버튼을 클릭하십시오.
"새 서비스" 페이지에서 방금 생성한 Echo 리포지토리를 선택하십시오.
4. 생성 시 다음 값 제공:
Go는 컴파일 언어이므로 go build
를 사용하여 Go 애플리케이션을 빌드합니다.
이 예제에서 Golang 프로젝트 이름은 app
이므로 해당 이름으로 컴파일됩니다.
필드 | 값 |
---|---|
런타임 | Go (모든 버전) |
빌드 명령 | go build -tags netgo -ldflags '-s -w' -o app |
시작 명령 | ./app |
포트 | 8080 |
이 값들을 해당 필드에 입력하십시오.
5. Go Echo 앱 액세스:
배포 후, 배포 페이지에서 foo-bar.leapcell.dev
와 같은 URL을 볼 수 있습니다. 서비스 페이지에 표시된 도메인을 방문하십시오.
지속적인 배포
연결된 브랜치에 대한 모든 푸시는 자동으로 빌드 및 배포를 트리거합니다. 실패한 빌드는 안전하게 취소되어 다음 성공적인 배포까지 현재 버전을 실행 상태로 유지합니다.
Go 언어 호스팅에 Leapcell을 사용하는 이유
- Leapcell은 웹 호스팅을 위한 차세대 서버리스 플랫폼으로, 전체 Go 언어 프로젝트를 클라우드에 배포할 수 있습니다.
- Leapcell은 실제 사용량에 대해서만 요금을 청구하므로, 기계가 유휴 상태일 때는 한 푼도 지불할 필요가 없습니다.
- Leapcell은 매월 초기화되는 넉넉한 무료 할당량을 제공합니다. 일일 사용량으로 할당량을 초과할 가능성은 거의 없습니다.
Leapcell에서 Golang 서비스를 배포해 보세요!