go言語でgracefulを使ってwebサーバを立てる

はじめに

gracefulというパッケージがあるので、これを利用することで簡易的にwebサーバを立ち上げることができる。

これを使えばApacheやNginxを使わずとも、go言語だけでwebサーバを立ち上げることができるのでその方法を紹介。

gracefulを利用する

 

まずはgo get

go get gopkg.in/tylerb/graceful.v1

その後、.goを作成する。

手順は README.md より抜粋

package main

import (
  "gopkg.in/tylerb/graceful.v1"
  "net/http"
  "fmt"
  "time"
)

func main() {
  mux := http.NewServeMux()
  mux.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) {
    fmt.Fprintf(w, "Welcome to the home page!")
  })

  graceful.Run(":3001",10*time.Second,mux)
}

とりあえずコピペでよい。

起動

go run greaceful.go

ブラウザで

http://localhost:3001/

へ接続

これは非常にシンプルな例だが、API作成などに非常に役立ちそう。