Kërkesat
Instaloni Mjetet
Shkarkoni dhe instaloni Golang
Vendosja e variablave të mjedisit
Verifiko instalimin
Konfiguro Martini
Konfiguro përfaqësuesin e kundërt Nginx
Kërkesat
- Njohuri bazë të UNIX.
- FreeBSD x64 me Nginx të instaluar.
Do t'ju duhen disa programe që nuk dërgohen me FreeBSD. Ekzekutoni komandën e mëposhtme për t'i instaluar ato:
pkg install nano wget git mercurial bzr
Shkarkoni dhe instaloni Golang
Shkarkoni golang duke ekzekutuar grupin e mëposhtëm të komandave:
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
Vendosja e variablave të mjedisit
Krijoni një variabël të quajtur GOPATH(i cili do të jetë vendndodhja për paketat e instaluara) dhe shtojeni në shtegun tuaj:
mkdir ~/.gopkg
setenv GOPATH /root/.gopkg
set path = ($path /usr/local/go/bin /root/.gopkg/bin)
Nëse dëshironi të vendosni shtegun në nisje, atëherë ekzekutoni komandën e mëposhtme për ta shtuar atë në tuaj .cshrc:
echo "setenv GOPATH /root/.gopkg" >> ~/.cshrc
echo "set path = ($path /usr/local/go/bin /root/.gopkg/bin)" >> ~/.cshrc
Verifiko instalimin
Ekzekutoni gonë terminalin tuaj. Nëse ju paraqitet një listë opsionesh, atëherë instalimi ishte i suksesshëm. Ekzekutoni komandën e mëposhtme për të instaluar një kornizë ueb të quajtur Martini:
go get github.com/go-martini/martini
Nëse nuk shihni ndonjë gabim, atëherë mund të vazhdoni në hapin tjetër.
Konfiguro Martini
Krijoni një skedar të quajtur server.godhe plotësoni atë me linjat e mëposhtme të kodit:
package main
import "github.com/go-martini/martini"
func main() {
m := martini.Classic()
m.Get("/", func() string {
return "Hello from Vultr VPS :)!"
})
m.Run()
}
Kur të keni mbaruar, ruani dhe ekzekutoni go run server.go. Me kusht që të mos shihni ndonjë gabim në terminalin tuaj, atëherë mund të vazhdoni në hapin tjetër.
Konfiguro përfaqësuesin e kundërt Nginx
Konfiguro Nginx për të kthyer proxy në serverin Martini. Në /usr/local/etc/nginx/nginx.confsy për locationdhe zëvendësuar përmbajtjen e saj brenda kllapa kaçurrel me sa më poshtë:
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;
Një që keni shtuar, ruajeni dhe ekzekutoni service nginx restartose service nginx onerestart, më pas ekzekutoni go run server.go. Në shfletuesin tuaj, futni http://0.0.0.0(ndryshoni IP-në në përputhje me rrethanat) dhe do të shihni një faqe që thotë:
Hello from Vultr VPS :)!
Urime, ju keni konfiguruar me sukses një server proxy të kundërt Nginx me Golang + Martini.