>  기사  >  백엔드 개발  >  Linux에 Golang 서비스를 배포하는 방법

Linux에 Golang 서비스를 배포하는 방법

PHPz
PHPz원래의
2023-04-05 13:49:271501검색

Golang은 간결한 코드, 빠른 실행 속도, 강력한 동시성 기능 등 많은 장점을 가지고 있어 최근 몇 년간 매우 인기 있는 프로그래밍 언어입니다. 이 기사에서는 Linux 시스템에 Golang 서비스를 배포하는 방법을 소개합니다.

1. Golang 및 필수 도구 설치

Golang 서비스를 배포하기 전에 먼저 Golang 및 필수 도구를 설치해야 합니다. 다음 명령을 통해 설치할 수 있습니다:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install golang
sudo apt-get install git

그 중 마지막 줄은 Git 도구를 설치합니다. Golang 프로젝트는 일반적으로 Git을 통해 버전 관리되기 때문입니다. 설치가 완료되면 다음 명령어를 실행하여 설치 성공 여부를 확인할 수 있습니다.

go version
git version

위 두 명령어 모두 버전 번호가 출력되면 설치가 성공한 것입니다.

2. Golang 서비스 작성

Golang과 필요한 도구를 설치한 후 Golang 서비스 작성을 시작할 수 있습니다. 다음은 간단한 HTTP 서비스를 예로 들면 다음과 같습니다.

package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", helloHandler)
    fmt.Println("Server started on port 8080")
    http.ListenAndServe(":8080", nil)
}

func helloHandler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello, World!")
}

서비스 코드에는 간단한 기능이 있으며 로컬 포트 ​​8080을 수신하고 각 요청에 대해 "Hello, World!" 문자열을 반환합니다. http.HandleFunc 메서드를 사용하여 경로와 해당 경로에 대한 핸들러 함수를 지정합니다. http.HandleFunc 方法来指定路由和对该路由的处理函数。

三、构建并测试 Golang 服务

在编写好 Golang 服务代码后,需要进行构建并测试。可以使用以下命令来构建服务:go build。该命令会在当前目录下生成可执行文件。在测试前,需要先修改一下当前用户的防火墙规则,以允许该服务监听 8080 端口。可以使用以下命令:

sudo ufw allow 8080/tcp

修改完成后,即可启动服务进行测试。可以使用以下命令启动服务:

./<可执行文件名> &

其中的 & 符号表示将服务放在后台运行。启动成功后即可使用浏览器或者 curl 命令来访问该服务。

四、使用 PM2 进行 Golang 服务部署

手动启动 Golang 服务显然不太友好,特别是当需要对该服务进行重启或监控时,更不方便。所以,可以使用 PM2 工具来进行服务的管理和部署。PM2 是一个 Node.js 生态圈中的进程管理工具,不过它也支持管理其他语言编写的进程,包括 Golang。以下是使用 PM2 进行 Golang 服务部署的示例:

  1. 安装 PM2
sudo npm install -g pm2
  1. 进入服务程序所在目录,并使用以下命令启动服务:
pm2 start <可执行文件名> --name=<服务名称>

其中,--name

3. Golang 서비스 빌드 및 테스트
  1. Golang 서비스 코드를 작성한 후에는 이를 빌드하고 테스트해야 합니다. 서비스는 go build 명령을 사용하여 구축할 수 있습니다. 이 명령은 현재 디렉터리에 실행 파일을 생성합니다. 테스트하기 전에 서비스가 포트 8080에서 수신 대기할 수 있도록 현재 사용자의 방화벽 규칙을 수정해야 합니다. 다음 명령을 사용할 수 있습니다.
  2. pm2 list
수정이 완료된 후 서비스를 시작하여 테스트할 수 있습니다. 다음 명령을 사용하여 서비스를 시작할 수 있습니다.
    pm2 restart <服务名称>
    pm2 stop <服务名称>
    pm2 delete <服务名称>
  1. & 기호는 서비스를 백그라운드에서 실행한다는 의미입니다. 성공적으로 시작되면 브라우저나 curl 명령을 사용하여 서비스에 액세스할 수 있습니다.
4. Golang 서비스 배포에 PM2 사용

Golang 서비스를 수동으로 시작하는 것은 그다지 친숙하지 않습니다. 특히 서비스를 다시 시작하거나 모니터링해야 하는 경우에는 더욱 불편합니다. 따라서 서비스 관리 및 배포에 PM2 도구를 사용할 수 있습니다. PM2는 Node.js 생태계의 프로세스 관리 도구이지만 Golang을 포함한 다른 언어로 작성된 프로세스 관리도 지원합니다. 다음은 Golang 서비스 배포를 위해 PM2를 사용하는 예입니다.

    Install PM2

    rrreee
      🎜서비스 프로그램이 있는 디렉터리를 입력하고 다음 명령을 사용하여 시작합니다. 서비스: 🎜🎜rrreee🎜여기서 --이름 매개변수는 서비스 이름을 지정하는 데 사용됩니다. 🎜🎜🎜다음 명령어를 사용하여 서비스 상태를 확인할 수 있습니다. 🎜🎜rrreee🎜🎜PM2에서 관리하던 프로세스의 경우 다음 명령어를 사용하여 서비스를 운영할 수 있습니다. 🎜🎜rrreee🎜위 방법은 다음과 같습니다. PM2 간단한 예를 사용하여 Golang 서비스를 배포합니다. 서비스 관리 및 배포에 PM2를 사용하면 서비스를 쉽게 관리하고 모니터링하는 동시에 수동 관리에 대한 부담도 크게 줄일 수 있습니다. 🎜🎜요약🎜🎜이 문서에서는 Golang 및 필요한 도구 설치, Golang 서비스 작성, 서비스 구축 및 테스트, 서비스 관리 및 배포를 위한 PM2 사용 등 Linux 시스템에 Golang 서비스를 배포하는 방법을 자세히 설명합니다. 이 글이 Golang 서비스를 배포하는 독자들에게 도움이 되기를 바랍니다. 🎜

위 내용은 Linux에 Golang 서비스를 배포하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.