Go on Raspberry Pi

Installing Go on Raspberry Pi is very simple. First, download and unpack the Go package

$ wget https://storage.googleapis.com/golang/go1.8.3.linux-armv6l.tar.gz
$ sudo tar -C /usr/local -xzf go1.8.3.linux-armv6l.tar.gz
$ export PATH=$PATH:/usr/local/go/bin

and then add export PATH=$PATH:/usr/local/go/bin to ~/.profile to set it automatically on next login.

To test whether it is working well, create test file server.go

package main

import (
	"log"
	"net/http"
)

func main() {
	http.Handle("/", http.FileServer(http.Dir(".")))

	log.Printf("Starting HTTP Web Server")
	log.Fatal(http.ListenAndServe(":80", nil))
}

build it and run

$ go build server.go
$ sudo ./server

Now if you open the http://your_raspberry_pi_ip_address/ the browser should list the content of the folder where the server.go is.

To run the server detached from terminal use

$ sudo nohup ./server </dev/null >server.log 2>&1 &

The server should be running even when you exit from the terminal.

To terminate the server fist find its PID

$ ps aux | grep server
...
root     22511  0.1  0.3 829024  3764 pts/0    Sl   01:01   0:00 ./server
...

and the send kill signal to the process

$ sudo kill 22511