Zahtjevi
Instalirajte Alati
Preuzmite i instalirajte Golang
Postavite varijable okruženja
Provjerite instalaciju
Postavite Martini
Postavite Nginx Reverse Proxy
Zahtjevi
- Osnovno poznavanje UNIX-a.
- FreeBSD x64 s instaliranim Nginxom.
Trebat će vam nekoliko programa koji se ne isporučuju s FreeBSD-om. Pokrenite sljedeću naredbu da ih instalirate:
pkg install nano wget git mercurial bzr
Preuzmite i instalirajte Golang
Preuzmite golang pokretanjem sljedećeg skupa naredbi:
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
Postavite varijable okruženja
Napravite varijablu pod nazivom GOPATH(koja će biti mjesto za instalirane pakete) i dodajte je na svoju putanju:
mkdir ~/.gopkg
setenv GOPATH /root/.gopkg
set path = ($path /usr/local/go/bin /root/.gopkg/bin)
Ako želite imati postavljenu stazu pri pokretanju, pokrenite sljedeću naredbu da je dodate u svoj .cshrc:
echo "setenv GOPATH /root/.gopkg" >> ~/.cshrc
echo "set path = ($path /usr/local/go/bin /root/.gopkg/bin)" >> ~/.cshrc
Provjerite instalaciju
Pokrenite gou svom terminalu. Ako vam se prikaže popis opcija, instalacija je uspjela. Pokrenite sljedeću naredbu da instalirate web okvir pod nazivom Martini:
go get github.com/go-martini/martini
Ako ne vidite pogreške, možete prijeći na sljedeći korak.
Postavite Martini
Napravite datoteku pod nazivom server.goi popunite je sljedećim redovima koda:
package main
import "github.com/go-martini/martini"
func main() {
m := martini.Classic()
m.Get("/", func() string {
return "Hello from Vultr VPS :)!"
})
m.Run()
}
Kada završite, spremite i pokrenite go run server.go. Pod uvjetom da ne vidite nikakve pogreške na svom terminalu, tada možete nastaviti na sljedeći korak.
Postavite Nginx Reverse Proxy
Konfigurirajte Nginx za obrnuti proxy na Martini poslužitelj. U /usr/local/etc/nginx/nginx.conftražiti locationi zamijeniti njezin sadržaj unutar vitičastih zagrada sa sljedećim:
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;
Ako ste to dodali, spremite i pokrenite service nginx restartili service nginx onerestart, a zatim pokrenite go run server.go. U svom pregledniku unesite http://0.0.0.0(u skladu s tim promijenite IP) i vidjet ćete stranicu koja kaže:
Hello from Vultr VPS :)!
Čestitamo, uspješno ste postavili Nginx reverse proxy poslužitelj s Golang + Martini.