don't stop believing

go 설치 (on CentOS7) 본문

Linux/CentOS

go 설치 (on CentOS7)

Tongchun 2019. 2. 13. 18:49

예제로 작성한 go server를 centos에서 실행하려고 합니다.

CentOS에 설치부터 해야겠네요.


언제나 그렇듯이 CentOS 버전부터 확인하고 갑니다.

$ cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

yum도 업데이트 한번 해줍니다.

$ sudo yum update

wget으로 go를 다운로드 합니다.

go 다운로드 페이지는 아래 링크에서 확인할 수 있습니다.

https://golang.org/dl/

현재 버전은 1.11.5 입니다.

$ wget https://dl.google.com/go/go1.11.5.linux-amd64.tar.gz

잘 받아졌다면 /usr/local에 압축을 풀어줍니다.

$ sudo tar -C /usr/local -xzf go1.11.5.linux-amd64.tar.gz

이제 path를 잡아줘야 합니다. 아래와 같이 export 명령으로 path를 추가합니다.

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

source 명령으로 설정을 등록합니다.

$ source ~/.bash_profile

이제 어디서든 go 명령을 실행할 수 있습니다.

go 버전을 확인해 보겠습니다.

$ go version
go version go1.11.5 linux/amd64

이번에는 go를 작성할 derectory를 만들어주고 github에 올린 sample 코드를 다운받아 빌드해 보겠습니다.

저는 $HOME에 go/src를 만들었습니다.

$ mkdir -p ~/go/src

src 폴더 밑에 github에 올린 파일들을 내려받습니다.

github 경로는 아래와 같습니다.

https://github.com/dejavuwing/learningGin.git

$ git clone https://github.com/dejavuwing/learningGin.git

github에서 learningGin을 다운받았다면 폴더 안으로 이동해 server.go를 바로 실행해 보겠습니다.

$ cd learningGin/
$ go run server.go

server.go 실행이 잘 된다면 go root 경로로 이동해 빌드해 보겠습니다.

$ cd ~/go
$ go install ./src/learningGin/

빌드가 잘 되었다면 bin 폴더가 생성되고 그 안에 learningGin이라는 실행파일이 생성되게 됩니다.

이제 서버를 background로 실행시킵니다.

$ ./bin/learningGin &
[1] 29056
[tongchun@localhost go]$ [GIN-debug] [WARNING] Now Gin requires Go 1.6 or later and Go 1.7 will be required soon.

[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.

[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:	export GIN_MODE=release
 - using code:	gin.SetMode(gin.ReleaseMode)

[GIN-debug] GET    /someGet                  --> main.someMethod (3 handlers)
[GIN-debug] POST   /somePost                 --> main.someMethod (3 handlers)
[GIN-debug] PUT    /somePut                  --> main.someMethod (3 handlers)
[GIN-debug] DELETE /someDelete               --> main.someMethod (3 handlers)
[GIN-debug] PATCH  /somePatch                --> main.someMethod (3 handlers)
[GIN-debug] HEAD   /someHead                 --> main.someMethod (3 handlers)
[GIN-debug] OPTIONS /someOptins               --> main.someMethod (3 handlers)
[GIN-debug] GET    /user/:name               --> main.setupRouter.func1 (3 handlers)
[GIN-debug] GET    /user/:name/age/:old      --> main.setupRouter.func2 (3 handlers)
[GIN-debug] GET    /colour/:colour/*fruits   --> main.setupRouter.func3 (3 handlers)
[GIN-debug] Listening and serving HTTP on :8080

CentOS의 IP는 10.10.5.0입니다.

해당 IP로 접속해 서버가 실행되었는지 확인해 봅니다.

http://10.10.5.0:8080/colour/red/apple/cherry

잘 되네요.

여기까지 CentOS에 go 설치 후 github에서 sample 소스 다운해 실행하는 방법이었습니다.


'Linux > CentOS' 카테고리의 다른 글

CentOS 7 GUI 설치 (GNOME Desktop)  (3) 2019.01.03
CentOS TimeZone 변경하기  (0) 2018.11.30
일반 user 계정 suder 추가하기  (0) 2018.11.23
CentOS 설치 후 yum 이 안될 때  (4) 2018.09.21
CentOS dmidecode 설치  (0) 2017.10.16
Comments