> 백엔드 개발 > Golang > 서버에 golang을 배포하는 방법은 무엇입니까?

서버에 golang을 배포하는 방법은 무엇입니까?

藏色散人
풀어 주다: 2020-02-01 14:43:01
원래의
3836명이 탐색했습니다.

서버에 golang을 배포하는 방법은 무엇입니까?

서버에 Golang 프로그램을 배포하는 방법

#🎜 🎜# 환경

개발 환경: mac

생산 환경: CentOS 6.8 under virtualbox(가상 머신)

# 🎜🎜#서버에 golang을 배포하는 방법은 무엇입니까?virtualbox

서버에 golang을 배포하는 방법은 무엇입니까?

서버 환경

#🎜 🎜 #

로컬 개발 Mac 환경 go env 매개변수서버에 golang을 배포하는 방법은 무엇입니까?

Process

go 코드#🎜🎜 #

package main
import (
    "fmt"
    "log"
    "net/http"
)
func sayHello(w http.ResponseWriter, r *http.Request)  {
    fmt.Fprintf(w,"您看到我了")
}
func main() {
    http.HandleFunc("/",sayHello)
    log.Println("启动了")
    err := http.ListenAndServe(":9000",nil)
    if err != nil{
        log.Fatal("List 9000")
    }
}
로그인 후 복사
그게 다입니다. 코드의 의미에 대해서는 자세히 설명하지 않겠습니다.

코드가 작성되었으니 이제 컴파일해야 합니다. Mac 환경은 Linux에서 실행되도록 컴파일되었으므로 모든 작업에는 크로스 플랫폼 컴파일이 포함됩니다.

컴파일 코드 명령

env GOOS=linux GOARCH=386 go build main.go
로그인 후 복사

PS: 386 여기에는 큰 구덩이가 있고 여기에 이 ​​패키지 프로그램을 실행하기 위한 플랫폼이 있습니다. Linux인 경우 uname -a를 사용하여 실행 중인 Linux 시스템 환경을 확인해야 합니다. 일반적인 환경에는 일반적으로 amd64, i386 등이 포함됩니다.

자, 컴파일이 완료되면 접미사 없이 기본 실행 파일이 생성됩니다. 이때 이 파일을 가상 머신에 업로드하고 직접 실행하기만 하면 됩니다.

직접 실행

서버에 golang을 배포하는 방법은 무엇입니까?실행 후 위에 표시된 효과가 나타나면 실행 중이라는 의미입니다. 이때, 브라우저를 열고 서버의 IP:9000에 접속하시면 아래와 같은 내용을 보실 수 있습니다

Browser Picture#🎜🎜 #

그렇습니다. 오늘이 첫 번째 배포인데 상당히 놀랐습니다. 예를 들어 Java 프로그램은 서버에 Java를 설치해야 하고, PHP는 설치해야 합니다. Apache, PHP 및 기타 실행 환경을 설치하세요. 아무것도 필요 없고 Linux 시스템만 있으면 됩니다. 서버에 golang을 배포하는 방법은 무엇입니까?

당시 겪었던 함정은 다음과 같습니다

1 바이너리 파일을 실행할 수 없습니다#. 🎜🎜 #

바이너리 파일을 실행할 수 없습니다

이런 현상이 발생하는 이유는 컴파일 실행 환경이 잘못되었기 때문입니다. 이는 386 요구 사항입니다. 위의 실행 중인 서버의 환경으로 변경하고 uname -a를 사용하여 볼 수 있습니다.

서버에 golang을 배포하는 방법은 무엇입니까?

2. 실행 중이지만 액세스할 수 없습니다

이 문제는 일반적으로 서버의 방화벽이나 네트워크 문제로 인해 발생합니다.

서버의 방화벽 서비스인 iptables stop을 간단하고 무례하게 끈 뒤, 접속이 가능한지 확인해 보면 실제 프로덕션 환경에서는 방화벽을 끄는 것은 권장하지 않습니다. 실제 온라인 운영을 배포하려면 보안, 프로세스 보호 등이 반드시 필요합니다. 이 문서는 배포에 대한 소개일 뿐이므로 이에 대해 논의하지 않습니다.

더 많은 바둑 언어 지식을 알고 싶다면 PHP 중국어 웹사이트

go 언어 튜토리얼

칼럼을 주목해주세요.

위 내용은 서버에 golang을 배포하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿