- 公開日:2016年12月26日
記事概要
新規アプリを学習も兼ねてGoLangのGin Web Frameworkで作ることにしました。
開発の中で得た気づきや知識を記載していきます。
環境
- Centos6.5
- Go 1.7.4
GoLangインストール
GoLangをcentos6.5にインストールします。
現在の最新バージョン1.7.4を使います。
terminal
// ダウンロード wget https://storage.googleapis.com/golang/go1.7.4.linux-amd64.tar.gz // rootになる su - // /usr/localフィレクトリに解凍 // -C, --directory ディレクトリ名 指定したディレクトリに移動してから動作を始める tar -C /usr/local -xzf go1.7.4.linux-amd64.tar.gz // 環境変数の設定フォルダ cd /etc/profile.d/ // goの環境変数を読み込むshを作成 touch go.sh vi go.sh
/etc/profile.d/配下のgo.shは、サーバーログイン時に呼び出されるシェルです。(正しくは、ログイン時にシェルで*.shとして、全てのシェルが呼び出される。)
このgo.shファイルで環境変数を設定します。
/etc/profile.d/go.sh
export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$PATH:$GOPATH/bin:$GOROOT/bin
GOPATHはgo getコマンドでライブラリが格納されるディレクトリです。
保存したら、一度サーバーからログアウトします。
再度サーバーにログインして、golangの設定をチェックします。
terminal
// version確認 [vagrant@vagrant-centos65 profile.d]$ go version go version go1.7.4 linux/amd64
以上でgolangの設定が完了しました。
Gin Web Frameworkインストール
Gin Web Frameworkをインストールします。
go getコマンドは、古いcentos(6.x系)にデフォルトでinstallされているgitだと動作しません。
gitのversionが古い場合は、versionを新しくしてください。やり方がわからない場合は、この記事を参照してください。
terminal
cd $HOME // install Gin Web Framework go get gopkg.in/gin-gonic/gin.v1
エラーなく処理が完了すれば成功です。
プロジェクト作成
続けてプロジェクトを作成します。
terminal
cd $GOPATH/src/ mkdir sample cd sample touch main.go
main.goにサーバー起動処理を記述します。
main.go
package main import ( "os" "github.com/gin-gonic/gin" ) func main() { r := gin.Default() r.GET("/", func(c *gin.Context) { c.String(200, "hello") }) port := os.Getenv("PORT") if len(port) == 0 { port = "3000" } r.Run(":" + port) }
ビルドして動かします。
terminal
cd $GOPATH/src/sample go run main.go [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 / --> main.main.func1 (3 handlers) [GIN-debug] Listening and serving HTTP on :3000
ブラウザでhttp:sample.com:3000にアクセスします。
表示されました。
まとめ
Gin Web Frameworkのインストールは非常にシンプルです。
centos6.5だと、gitがデフォルトの古いままだとgo getコマンドが途中で停止してしまうので注意してください。
以上。
PICK UP オススメ書籍
0 件のコメント:
コメントを投稿