>  기사  >  백엔드 개발  >  golang에 스크립트를 배포하는 방법

golang에 스크립트를 배포하는 방법

PHPz
PHPz원래의
2023-04-05 13:48:45755검색

Golang은 네트워크 프로그래밍, 마이크로서비스, 컨테이너화 등의 분야에서 널리 사용되는 매우 인기 있는 프로그래밍 언어입니다. 그러나 초보자나 비전문가에게는 Golang 애플리케이션을 올바르게 배포하는 방법이 어려운 작업일 수 있습니다. 따라서 이 문제를 해결하려면 편리하고 간단한 배포 스크립트가 필요합니다.

이 글에서는 간단한 Golang 배포 스크립트를 사용하여 Golang 애플리케이션을 자동으로 배포하는 방법을 소개합니다. 시작하기 전에 Golang 환경을 설치했는지 확인하고 몇 가지 기본 Linux 명령을 이해하세요. 지금 시작해 보세요!

1. 배포 스크립트 만들기

먼저 deploy.sh라는 스크립트 파일을 만들고 다음 콘텐츠를 추가합니다. deploy.sh的脚本文件,并添加以下内容:

#!/bin/bash

# 指定应用名称
APP_NAME="your_app_name"

# 指定应用文件名称
APP_FILE="main.go"

# 指定运行端口
APP_PORT="8080"

# 编译应用
go build -o $APP_NAME $APP_FILE

# 后台运行应用
nohup ./$APP_NAME -port $APP_PORT > /dev/null 2>&1 &

在这个脚本中,我们指定了应用的名称、应用的入口文件名称、应用运行的端口号等基本信息。接下来,我们使用 go build 命令来编译应用,并使用 nohup 命令后台运行应用,这可以确保应用在服务器上一直运行,即使脚本执行完毕。

2. 修改权限

在Linux系统下,我们需要为脚本添加执行权限。使用以下命令更改脚本权限:

chmod +x deploy.sh

3. 运行脚本

接下来,我们可以运行部署脚本了。使用以下命令来运行脚本:

./deploy.sh

这将自动编译和运行您的应用。现在,您可以通过访问 $APP_SUM_HOST:$APP_PORTrrreee

이 스크립트에서는 애플리케이션 이름인 application Basic을 지정합니다. 항목 파일 이름, 애플리케이션이 실행 중인 포트 번호 등의 정보. 다음으로, go build 명령을 사용하여 애플리케이션을 컴파일하고 nohup 명령을 사용하여 애플리케이션을 백그라운드에서 실행합니다. 이렇게 하면 애플리케이션이 이후에도 서버에서 계속 실행됩니다. 스크립트가 실행됩니다.

2. 권한 수정

Linux 시스템에서는 스크립트에 실행 권한을 추가해야 합니다. 다음 명령을 사용하여 스크립트 권한을 변경합니다.
    rrreee
  • 3. 스크립트 실행
  • 다음으로 배포 스크립트를 실행할 수 있습니다. 다음 명령을 사용하여 스크립트를 실행하세요.
  • rrreee
  • 이렇게 하면 앱이 자동으로 컴파일되고 실행됩니다. 이제 $APP_SUM_HOST:$APP_PORT를 방문하여 앱이 성공적으로 배포되었는지 테스트할 수 있습니다.
4. 사용자 정의

위 스크립트는 가장 기본적인 Golang 애플리케이션 시나리오만을 기반으로 합니다. 애플리케이션을 사용자 정의해야 하는 경우 다음과 같이 배포 스크립트를 수정할 수 있습니다. 🎜🎜🎜다른 애플리케이션 이름과 애플리케이션 파일 이름을 지정하고 실행중인 포트. 🎜🎜서버를 배포하기 전에 추가 컴파일 또는 빌드 프로세스를 추가하세요. 🎜🎜Git 복제 또는 업데이트 코드 등과 같은 다른 명령을 스크립트에 추가합니다. 🎜🎜🎜일반적으로 이 스크립트는 Golang 애플리케이션 배포의 기초로 사용할 수 있으며 보조 개발에도 쉽게 사용할 수 있습니다. 이 기사가 Golang 애플리케이션 배포 작업을 더 쉽게 완료하는 데 도움이 되기를 바랍니다. 🎜

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

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