ความต้องการ
- ความรู้พื้นฐานของ UNIX
- FreeBSD x64 พร้อมติดตั้ง Nginx
คุณจะต้องมีหลายโปรแกรมที่ไม่ได้จัดส่งมาพร้อมกับ FreeBSD รันคำสั่งต่อไปนี้เพื่อติดตั้ง:
pkg install nano wget git mercurial bzr
ดาวน์โหลดและติดตั้ง Golang
ดาวน์โหลด golang โดยเรียกใช้ชุดคำสั่งต่อไปนี้:
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
ตั้งค่าตัวแปรสภาพแวดล้อม
สร้างตัวแปรที่เรียกว่าGOPATH
(ซึ่งจะเป็นตำแหน่งสำหรับแพ็คเกจที่ติดตั้ง) และเพิ่มเข้าไปในเส้นทางของคุณ:
mkdir ~/.gopkg
setenv GOPATH /root/.gopkg
set path = ($path /usr/local/go/bin /root/.gopkg/bin)
หากคุณต้องการให้มีการตั้งค่าเส้นทางในการบูตให้รันคำสั่งต่อไปนี้เพื่อเพิ่มลงใน.cshrc
:
echo "setenv GOPATH /root/.gopkg" >> ~/.cshrc
echo "set path = ($path /usr/local/go/bin /root/.gopkg/bin)" >> ~/.cshrc
ตรวจสอบการติดตั้ง
ทำงานgo
ในสถานีของคุณ หากคุณมีรายการตัวเลือกแสดงว่าการติดตั้งสำเร็จ รันคำสั่งต่อไปนี้เพื่อติดตั้งเว็บเฟรมเวิร์กที่เรียกว่าMartini
:
go get github.com/go-martini/martini
หากคุณไม่เห็นข้อผิดพลาดใด ๆ คุณสามารถดำเนินการในขั้นตอนต่อไป
ตั้งค่า Martini
สร้างไฟล์ชื่อserver.go
และเติมด้วยรหัสบรรทัดต่อไปนี้:
package main
import "github.com/go-martini/martini"
func main() {
m := martini.Classic()
m.Get("/", func() string {
return "Hello from Vultr VPS :)!"
})
m.Run()
}
go run server.go
เมื่อเสร็จแล้วให้บันทึกและเรียกใช้ โดยมีเงื่อนไขว่าคุณไม่เห็นข้อผิดพลาดใด ๆ บนเครื่องของคุณจากนั้นคุณสามารถดำเนินการขั้นตอนต่อไป
ตั้งค่า Nginx Reverse Proxy
กำหนดค่า Nginx เพื่อย้อนกลับพร็อกซีไปยังเซิร์ฟเวอร์ Martini ใน/usr/local/etc/nginx/nginx.conf
มองหาlocation
และแทนที่เนื้อหาภายในวงเล็บปีกกากับต่อไปนี้:
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;
หนึ่งที่คุณได้เพิ่มที่บันทึกและเรียกใช้service nginx restart
หรือเรียกใช้แล้วservice nginx onerestart
go run server.go
ในเบราว์เซอร์ของคุณให้ป้อนhttp://0.0.0.0
(เปลี่ยน IP ตาม) และคุณจะเห็นหน้าเว็บที่ระบุว่า:
Hello from Vultr VPS :)!
ขอแสดงความยินดีคุณได้ติดตั้ง Nginx reverse proxy server กับ Golang + Martini สำเร็จ���ล้ว