日: 2019年5月17日

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

    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作成などに非常に役立ちそう。