Nginx Reverse Proxy i Golang Setup na FreeBSD

Wymagania

  • Podstawowa znajomość systemu UNIX.
  • FreeBSD x64 z zainstalowanym Nginx.

Zainstaluj narzędzia

Będziesz potrzebował kilku programów, które nie są dostarczane z FreeBSD. Uruchom następujące polecenie, aby je zainstalować:

pkg install nano wget git mercurial bzr

Pobierz i zainstaluj Golang

Pobierz golang, uruchamiając następujący zestaw poleceń:

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

Konfiguruj zmienne środowiskowe

Utwórz zmienną o nazwie GOPATH(która będzie lokalizacją zainstalowanych pakietów) i dodaj ją do swojej ścieżki:

mkdir ~/.gopkg
setenv GOPATH /root/.gopkg
set path = ($path /usr/local/go/bin /root/.gopkg/bin)

Jeśli chcesz ustawić ścieżkę podczas uruchamiania, uruchom następujące polecenie, aby dodać ją do .cshrc:

echo "setenv GOPATH /root/.gopkg" >> ~/.cshrc
echo "set path = ($path /usr/local/go/bin /root/.gopkg/bin)" >> ~/.cshrc

Sprawdź instalację

Uruchom gow swoim terminalu. Jeśli zostanie wyświetlona lista opcji, instalacja zakończyła się powodzeniem. Uruchom następujące polecenie, aby zainstalować środowisko sieciowe o nazwie Martini:

go get github.com/go-martini/martini

Jeśli nie widzisz żadnych błędów, możesz przejść do następnego kroku.

Skonfiguruj Martini

Utwórz plik o nazwie server.goi wypełnij go następującymi wierszami kodu:

package main

import "github.com/go-martini/martini"

func main() {
  m := martini.Classic()
  m.Get("/", func() string {
    return "Hello from Vultr VPS :)!"
  })
  m.Run()
}

Po zakończeniu zapisz i uruchom go run server.go. Pod warunkiem, że nie widzisz żadnych błędów na swoim terminalu, możesz przejść do następnego kroku.

Skonfiguruj Nginx Reverse Proxy

Skonfiguruj Nginx, aby odwracał proxy do serwera Martini. W /usr/local/etc/nginx/nginx.conflook locationi zastąpienia jej zawartości w obrębie nawiasów klamrowych z następującymi zasadami:

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;

Dodałeś to, zapisz i uruchom service nginx restartlub service nginx onerestart, a następnie uruchom go run server.go. Wpisz w przeglądarce http://0.0.0.0(odpowiednio zmień adres IP), a zobaczysz stronę z napisem:

Hello from Vultr VPS :)!

Gratulacje, pomyślnie skonfigurowałeś odwrotny serwer proxy Nginx za pomocą Golang + Martini.



Leave a Comment

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.