web-technical-blog

web開発に関する技術メモ

Go(revel)環境の構築について

CentOS7にインストールする手順です。

▼事前インストー

# yum -y install wget
# yum -y install git

▼Goインストー

# cd /usr/local/src
# wget https://storage.googleapis.com/golang/go1.7.4.linux-amd64.tar.gz
# tar -C /usr/local/ -xzf go1.7.4.linux-amd64.tar.gz


▼Go用WorkSpace作成
・このディレクトリソースでソースを管理する
・go get や go installした際はこのディレクトリに追加

# mkdir -p /var/golang


▼Go実行パス設定

vi /etc/profile
export GOROOT=/usr/local/go
export GOBIN=$GOROOT/bin
export GOPATH=/var/golang
export PATH=$PATH:$GOBIN

・反映されたか確認

# which go
/usr/local/go/bin/go

# go version
go version go1.7.4 linux/amd64

▼Revelインストー

# go get github.com/revel/revel
# go get github.com/revel/cmd/revel

# /var/golangの配下に「revel」ディレクトリを作成
[root@localhost golang]# ls -l
合計 0
drwxr-xr-x. 3 root root 25 1227 14:34 pkg
drwxr-xr-x. 2 root root 6 1227 14:41 revel
drwxr-xr-x. 6 root root 71 1227 14:41 src

「myapp」というプロジェクトをrevelコマンドで作成

[root@localhost golang]# revel new myapp

~
~ revel! http://revel.github.io
~
Your application is ready:
/var/golang/src/myapp
You can run it with:
revel run myapp

▼firewalld(9000ポート解放)の設定

# 許可するポートの追加
firewall-cmd --add-port=9000/tcp --zone=public --permanent
# firewalldのリロード
firewall-cmd --reload

▼Nginxインストー
・Nginx用リポジトリ作成

# vi /etc/yum.repo.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/
gpgcheck=0
enabled=1

▼Nginxモジュールインストー

# yum install -y nginx

▼起動時設定

# systemctl enable nginx
# systemctl start nginx
# systemctl status nginx

▼Nginx設定ファイル修正

# vim /etc/nginx/conf.d/default.conf
location / {
    proxy_pass http://127.0.0.1:9000;
}

▼Revelでアプリケーション実行

# revel run myapp

▼参考URL
CentOS7 に Nginx + Go + Revel インストール・動作確認 - 長生村本郷Engineers'Blog
CentOS7でポートを開放する方法。 - プログラミングで飯を食え。腕をあげたきゃ備忘録!
Windowsでgolang(1)Go(1.7.1)とRevel(v0.13.1)のインストール
CentOS7用 Revel(Golang)フレームワークの起動スクリプト 書いてみた。 - 長生村本郷Engineers'Blog