Krav
Installer verktøy
Last ned og installer Golang
Sett opp miljøvariabler
Bekreft installasjonen
Sett opp Martini
Sett opp Nginx Reverse Proxy
Krav
- Grunnleggende kunnskap om UNIX.
- FreeBSD x64 med Nginx installert.
Du trenger flere programmer som ikke leveres med FreeBSD. Kjør følgende kommando for å installere dem:
pkg install nano wget git mercurial bzr
Last ned og installer Golang
Last ned golang ved å kjøre følgende sett med kommandoer:
cd /tmp
wget https://storage.googleapis.com/golang/go1.3.3.freebsd-amd64.tar.gz
tar -C /usr/local -xzf go1.3.3.freebsd-amd64.tar.gz
Sett opp miljøvariabler
Opprett en variabel kalt GOPATH(som vil være plasseringen for installerte pakker) og legg den til banen din:
mkdir ~/.gopkg
setenv GOPATH /root/.gopkg
set path = ($path /usr/local/go/bin /root/.gopkg/bin)
Hvis du vil ha banen satt ved oppstart, kjør følgende kommando for å legge den til i .cshrc:
echo "setenv GOPATH /root/.gopkg" >> ~/.cshrc
echo "set path = ($path /usr/local/go/bin /root/.gopkg/bin)" >> ~/.cshrc
Bekreft installasjonen
Kjør goi terminalen din. Hvis du får en liste over alternativer, var installasjonen vellykket. Kjør følgende kommando for å installere et nettrammeverk kalt Martini:
go get github.com/go-martini/martini
Hvis du ikke ser noen feil, kan du gå videre til neste trinn.
Sett opp Martini
Lag en fil kalt server.goog fyll den med følgende kodelinjer:
package main
import "github.com/go-martini/martini"
func main() {
m := martini.Classic()
m.Get("/", func() string {
return "Hello from Vultr VPS :)!"
})
m.Run()
}
Når du er ferdig, lagre og kjør go run server.go. Forutsatt at du ikke ser noen feil på terminalen din, kan du gå videre til neste trinn.
Sett opp Nginx Reverse Proxy
Konfigurer Nginx for å reversere proxy til Martini-serveren. I /usr/local/etc/nginx/nginx.confutseende for locationog erstatte innholdet i krøllete parentes med følgende:
expires 8d;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_read_timeout 5m;
proxy_connect_timeout 5m;
proxy_cache_key sfs$request_uri$scheme;
proxy_pass http://127.0.0.1:3000;
proxy_redirect off;
En du har lagt til, lagre og kjør service nginx restarteller service nginx onerestart, kjør deretter go run server.go. I nettleseren din, skriv inn http://0.0.0.0(endre IP tilsvarende) og du vil se en side som sier:
Hello from Vultr VPS :)!
Gratulerer, du har konfigurert en Nginx omvendt proxy-server med Golang + Martini.