CentOS に Go 言語環境を導入します。以下は CentOS 6.x の 64bit 版を前提とします。
Go 言語のインストールは yum ではなく、直接バイナリをダウンロードして展開するだけです(この例では /usr/local/go/ 以下に Go 1.4 をインストールしています):
環境変数 GOPATH を設定し、また PATH を通してコマンドラインから直接利用できるように設定します:
ここまでの準備ができたらログインし直して、go コマンドを実行して動作確認します(青字のような出力になれば成功です):
試しに Hello World 的なアプリを書いて実行してみましょう。以下の内容のテキストファイルを hello.go という名前で作成して保存します:
そして実行して動作を確認します:
動きました!
ついでに HTTP サーバーを作ってみます。今度は以下の内容を http1.go という名前で作成します。8080 番ポートのルートパス(/)で待ち受けるような内容にしています。また GET の param パラメータの値を取り出して出力するようにしています:
そして実行します:
ウェブブラウザで、この Go を実行中のマシンの 8080 番ポートのルートパス(/)にアクセスします。またこの時に param パラメータを付けて実行すると、そのパラメータ内容が表示されることを確認します:
CentOS 上で Go 言語が実行でき、HTTP サーバーを作れることも確認できました。
Go 言語のインストールは yum ではなく、直接バイナリをダウンロードして展開するだけです(この例では /usr/local/go/ 以下に Go 1.4 をインストールしています):
# cd /usr/local/src # wget https://storage.googleapis.com/golang/go1.4.linux-amd64.tar.gz # tar -C /usr/local -xzf go1.4.linux-amd64.tar.gz
環境変数 GOPATH を設定し、また PATH を通してコマンドラインから直接利用できるように設定します:
# vi ~/.bashrc (以下の2行を追加して保存) export GOPATH=/usr/local/go/ export PATH=$PATH:/usr/local/go/bin
ここまでの準備ができたらログインし直して、go コマンドを実行して動作確認します(青字のような出力になれば成功です):
# go version
go version go1.4 linux/amd64
試しに Hello World 的なアプリを書いて実行してみましょう。以下の内容のテキストファイルを hello.go という名前で作成して保存します:
package main import "fmt" func main(){ fmt.Printf( "Hello, World\n" ) }
そして実行して動作を確認します:
# go run hello.go
Hello World
動きました!
ついでに HTTP サーバーを作ってみます。今度は以下の内容を http1.go という名前で作成します。8080 番ポートのルートパス(/)で待ち受けるような内容にしています。また GET の param パラメータの値を取り出して出力するようにしています:
package main import( "fmt" "html" "net/http" ) func HelloServer( w http.ResponseWriter, req *http.Request ){ title := html.EscapeString( req.URL.Path[1:] ) param := req.FormValue( "param" ) output := ` <html> <head> <title>` + title + `</title> </head> <body> <h1>HTTP のテスト</h1> <h2>get</h2> param=` + html.EscapeString(param) + `</br> </body> </html> ` fmt.Fprintf( w, "%s", output ) } func main(){ http.HandleFunc( "/", HelloServer ) http.ListenAndServe( ":8080", nil ) }
そして実行します:
# go run http1.go
ウェブブラウザで、この Go を実行中のマシンの 8080 番ポートのルートパス(/)にアクセスします。またこの時に param パラメータを付けて実行すると、そのパラメータ内容が表示されることを確認します:
CentOS 上で Go 言語が実行でき、HTTP サーバーを作れることも確認できました。