>  기사  >  백엔드 개발  >  Linux에서 Go 언어 애플리케이션을 배포하는 방법

Linux에서 Go 언어 애플리케이션을 배포하는 방법

PHPz
PHPz원래의
2023-04-05 09:09:041553검색

오늘날 소프트웨어 개발 업계에서 Go 언어는 다른 언어에 비해 강력한 동시성, 개발 용이성, 빠른 속도라는 장점을 가지고 있습니다. 따라서 점점 더 많은 기업이 Go 언어를 사용하여 애플리케이션을 개발하는 것을 선택하고 있습니다. 그렇다면 Go 언어 애플리케이션을 배포할 때 Linux에서는 어떻게 배포해야 할까요?

1. Linux 환경 설치

배포하기 전에 먼저 Linux에 go 언어를 설치해야 합니다. Go 언어를 설치하기 전에 Linux 시스템에 gcc, make 등과 같은 필요한 종속성이 설치되어 있는지 확인해야 합니다. 이러한 종속성을 설치하려면 다음 명령을 사용할 수 있습니다.

sudo apt-get update
sudo apt-get install build-essential

다음으로 go 언어를 다운로드하고 압축을 풉니다.

wget https://dl.google.com/go/go1.13.5.linux-amd64.tar.gz
tar -xvf go1.13.5.linux-amd64.tar.gz

압축을 푼 후 /usr/local/ 디렉터리로 이동합니다. 명령은 다음과 같습니다. /usr/local/目录下,命令如下:

sudo mv go /usr/local/

然后,需要将go语言的bin目录路径添加到PATH环境变量中:

export PATH=$PATH:/usr/local/go/bin

将上述命令添加到文件/etc/profile中,使其永久生效。

二、部署应用程序

在Linux下部署go语言应用程序的方式有许多种方法,下面介绍两种常用的方式。

1.使用源代码部署

首先,需要在Linux上安装Git:

sudo apt-get install git

然后,将代码克隆至 $GOPATH/src/目录下:

git clone https://github.com/xxxxx/xxxxx.git

编译应用程序:

cd $GOPATH/src/xxxxx
go build main.go

最后运行应用程序即可:

./main

2.使用二进制文件部署

该方式在开发过程中,可以使用go打包工具将应用程序打包成二进制文件,然后将该文件上传至Linux服务器进行部署。具体步骤如下:

GOOS=linux GOARCH=amd64 go build main.go

运行后,会生成一个名为main的二进制文件。此时,将该文件上传至Linux服务器中,在命令行中运行即可:

./main

三、使用Supervisord进行服务管理

Supervisord是一个开源的进程管理工具,可以用于监控、管理Unix/Linux系统上的进程。下面介绍如何使用Supervisord进行服务管理。

首先,需要安装Supervisord:

sudo apt-get install supervisor

安装后,需要编辑配置文件/etc/supervisor/conf.d/,添加以下内容:

[program:app-name]
directory = /path/to/app
command = /path/to/app/main
autostart = true
autorestart = true
stdout_logfile = /var/log/app/stdout.log
stderr_logfile = /var/log/app/stderr.log

其中,app-name为要运行的应用程序名,directory为应用程序所在的路径,command为启动应用程序的命令,autostartautorestart为Supervisord自动启动和重启机制,stdout_logfilestderr_logfile

sudo supervisorctl reread
sudo supervisorctl update
sudo service supervisor restart
그런 다음 go 언어의 bin 디렉터리 경로를 PATH 환경 변수에 추가해야 합니다.

rrreee

위 명령을 /etc/profile 파일에 추가합니다. 영구적으로 만드십시오.

2. 애플리케이션 배포

Linux에서 Go 언어 애플리케이션을 배포하는 방법에는 두 가지가 있습니다.

1. 소스 코드를 사용하여 배포🎜🎜먼저 Linux에 Git을 설치해야 합니다. 🎜rrreee🎜그런 다음 코드를 $GOPATH/src/ 디렉터리에 복제합니다. 🎜rrreee🎜응용 프로그램을 컴파일합니다. : 🎜rrreee🎜마지막으로 애플리케이션 실행: 🎜rrreee🎜2. 바이너리 파일 배포 사용🎜🎜 이 방법에서는 개발 프로세스 중에 go 패키징 도구를 사용하여 애플리케이션을 바이너리 파일로 패키징한 후 파일을 업로드할 수 있습니다. 배포 처리를 위해 Linux 서버에. 구체적인 단계는 다음과 같습니다. 🎜rrreee🎜실행 후 main이라는 바이너리 파일이 생성됩니다. 이 시점에서 Linux 서버에 파일을 업로드하고 명령줄에서 실행합니다: 🎜rrreee🎜 3. 서비스 관리를 위해 Supervisord를 사용합니다. 🎜🎜Supervisord는 Unix/Linux를 모니터링하고 관리하는 데 사용할 수 있는 오픈 소스 프로세스 관리 도구입니다. 시스템의 프로세스. 다음은 서비스 관리를 위해 Supervisord를 사용하는 방법을 설명합니다. 🎜🎜먼저 Supervisord를 설치해야 합니다: 🎜rrreee🎜설치 후 구성 파일 /etc/supervisor/conf.d/를 편집하고 다음 내용을 추가해야 합니다: 🎜rrreee🎜그 중 , app-name 은 실행할 애플리케이션의 이름, directory는 애플리케이션이 있는 경로, command는 실행할 명령입니다. 응용 프로그램을 시작합니다. autostartautorestart는 Supervisord 자동 시작 및 다시 시작 메커니즘이고, stdout_logfilestderr_logfile은 로그 파일 경로입니다. . 🎜🎜마지막으로 Supervisord 서비스를 다시 시작하세요. 🎜rrreee🎜위는 서비스 관리를 위해 Supervisord를 사용하는 단계입니다. 🎜🎜요약🎜🎜이 문서에서는 Go 언어 설치, 애플리케이션 배포, 서비스 관리를 위한 Supervisord 사용을 포함하여 Linux에서 Go 언어 애플리케이션을 배포하는 방법을 자세히 설명합니다. 이러한 방법은 모두 실행 가능하며 실제 적용 시 특정 상황에 따라 선택할 수 있습니다. 이러한 기술을 이해하고 숙달해야만 개발된 애플리케이션을 빠르고 쉽게 배포할 수 있습니다. 🎜

위 내용은 Linux에서 Go 언어 애플리케이션을 배포하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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