Nginx ubuntu: instalacja i konfiguracja

Nginx Ubuntu to serwer internetowy open source z potężnymi funkcjami równoważenia obciążenia, odwrotnego proxy i buforowania. Został on pierwotnie zaprojektowany w celu wyeliminowania błędów skalowania i równoległości na istniejących serwerach. Jego oparta na zdarzeniach asynchroniczna architektura uczyniła go najbardziej popularnym i wydajnym.

Dwie wersje instalacji

Zwykle istnieją dwie wersje open source Nginx Ubuntu - podstawowa i stabilna. Wersja podstawowa to niewielka część kompletnego pakietu. Status "Development and Trial" nie oznacza, że główna jest podatna na uszkodzenia, wręcz przeciwnie, jest dość stabilna. Jego zalety: zawsze możesz wstępnie przetestować najlepsze funkcje i najnowsze możliwości. Wada - możliwość uzyskania błędów jest większa w porównaniu do wersji stabilnej.

W przypadku tego ostatniego (pełna wersja Nginx Ubuntu), jego funkcje i bezpieczeństwo zostały przeanalizowane w serii testów i mają bardzo wysokie oceny. W rezultacie otrzymujemy stabilny i niezawodny serwer internetowy, który nadaje się do wykorzystania jako serwer e-commerce.

Typ instalacji Nginx

Nowicjusze muszą zastosować odpowiednie parametry instalacji, aby wdrożyć serwer.

Istnieje kilka opcji instalacji Nginx Ubuntu:

  1. Z gotowego pakietu Debian/Ubuntu.
  2. Z prefabrykowanego repozytorium Nginx.
  3. Z kodu źródłowego.

Instalacja z gotowego pakietu (Debian/Ubuntu) z jądrem i modułem domyślnym jest bardzo prosta, wraz z automatycznym procesem aktualizacji. Proces jest realizowany przez program składający się z wersji stabilnej i kilku opcji modułu.

Instalacja Ubuntu Nginx z pakietu repozytorium jest tak prosta jak system operacyjny domyślnie. Można wybrać, czy ma być używana wersja stabilna czy podstawowa. Możliwe jest również bardziej elastyczne podejście do wyboru modułu dynamicznego, którego chcesz użyć. Ten ostatni różni się od modułu statycznego, ale niektóre z nich można przekształcić w dynamiczne. W przypadku Nginxa proces aktualizacji jądra jest dość skomplikowany, więc trzeba go wykonać ręcznie.

Pakiet prefabrykowany

Jeśli potrzebna jest większa elastyczność, instalacja Nginx ze źródła jest właściwy wybór. Wszystkie moduły są używane w miarę potrzeb, możliwa jest zmiana kodu bazowego. Uruchom Nginx zainstaluj Ubuntu z prefabrykowanego pakietu:

Pakiet prefabrykowany

Aby zainstalować ten domyślny schemat, sprawdź Ubuntu lub Debian Web, aby zobaczyć jakie moduły są wbudowane w Full. Następnie należy zainstalować oprogramowanie z przygotowanego wcześniej pakietu Repository.

Oprogramowanie z wbudowanego pakietu Repozytorium

Po tym dodają następujący klucz podpisu, aby upewnić się, że repozytorium i pakiety są wymienione w breloku menedżera (apt).

Algorytm instalacji:

  1. Następnie dodajemy domyślne repozytorium Nginx z pakietu Ubuntu lub Debiana.
  2. Aby to zrobić, należy zdefiniować repozytorium w pliku pakietu sources.wykaz.
  3. Najpierw otwórz plik źródeł.lista w konsoli nano jako edytor plików.
  4. Po otwarcie pliku dodać repozytorium do dolnego wiersza za pomocą ogólnego szablonu.
  5. Zapisz zmiany naciskając Ctrl + x → Y → Enter.
  6. Po tym można zainstalować Nginx w zwykły sposób.

W systemie zostanie zainstalowana stabilna wersja serwera Nginx Ubuntu.

Gdzie:

  • {OS Linux} - Ubuntu lub Debian;
  • {codename} - nazwa twojego systemu operacyjnego.

Nazwę kodu można zobaczyć w poniższej tabeli.

Nazwa kodowa

Kod instalacji.

Kod ustawień

Konfiguracja NGINX Ubuntu 18.04

Obecnie najlepiej zainstalować model 18.04, jest użycie wersji zawartej w repozytorium Ubuntu.

Pliki konfiguracyjne NGINX są przechowywane w /etc/nginx/conf.d/. Zazwyczaj będziesz potrzebował oddzielnego pliku w tym katalogu dla każdej domeny lub subdomeny.

Algorytm instalacji NGINX w Ubuntu:

  1. Skopiuj domyślny plik.
  2. Przykład zastępczy.nazwa domeny com lub publiczne IP.
  3. Wyłączenie domyślnego pliku poprzez dodanie .Dodaj do jego nazwy.
  4. Otwórz plik w edytorze.
  5. Zastąp nazwę domeny lub IP strony w dyrektywie.
  6. W przypadku treści out-of-the-box, takich jak instalacje WordPress lub pliki statyczne, zastąp ścieżkę w dyrektywie root ścieżką do treści witryny.
Algorytm instalacji NGINX w Ubuntu

Testowanie NGINX:

  1. Sprawdź konfigurację pod kątem błędów.
  2. Ponowne uruchomienie wersji.
  3. Przejdź do IP Linode w swojej przeglądarce, a pojawi się strona NGINX.

Dodanie nowej strony internetowej do serwera

Oprogramowanie stosu LEMP przedstawia grupę, która może być użyta do obsługi dynamicznych stron i aplikacji. Dane wewnętrzne przechowywane są w MySQL, a procesy dynamiczne obsługiwane są przez Ubuntu Nginx PHP.

Wymagania:

  1. Klienty SSH, takie jak Bitvise czy Putty, wraz z instrukcją ich obsługi.
  2. Podstawowa znajomość typowych poleceń uniksowych dla SSH do serwera.
  3. Serwer lub VPS z minimum 256 MB RAM (OpenVZ). Zaleca się stosowanie 512MB w przypadku korzystania z KVM lub Xen.
  4. Ubuntu 16.04 pomiędzy 32 a 64 bitami.

Wymagania wstępne:

  1. Zapewnia serwer Ubuntu.
  2. Zainstaluj pełny LAMP (Ubuntu Nginx Apache, MySQL, Perl / PHP / Python) na serwerze Ubuntu.

Tworzenie katalogu stron internetowych

Katalogi internetowe to listy lub foldery na serwerze, w których przechowywane są wszystkie pliki. Zaloguj się używając Terminala, Putty i Bitvise.

Następnie wymaga katalogu. Poniżej to polecenie tworzy dwa katalogi dla dwóch witryn, np. jeśli trzeba dodać tylko jedną witrynę, wystarczy wskazać raz zamiast domena1.tld i domain2.wpisać żądaną domenę. Następnie ustawiamy właściciela katalogu na www-data i rekurencyjnie zmieniamy prawa dostępu do katalogu na. Hostuj następny, a następnie utwórz testowy indeks plików.html, zapisz go i wyjdź z edytora naciskając Control+O, a następnie Cotrol+X.

Tworzenie katalogu stron internetowych

Tworzenie usługi blokowej

Plik bloku serwera nginx jest przechowywany wewnętrznie, więc umieść tam tę konfigurację i zastąp "xxxx" swoim własnym adresem IPv4 lub IPv6. Zapisz i wyjdź z edytora naciskając Control+O, a następnie Control+X. Następnie zrób to samo dla drugiej strony.

Tworzenie usługi blokowej

Następnie można aktywować każdy blok w serwerze. Ze względów bezpieczeństwa, edytuj nginx.Conf i aktywuj: "Name hash size", usuń symbol komentarza (#). Naciśnij Control+O aby zapisać i Control+X aby wyjść z edytora. Teraz przetestuj konfigurację i potwierdź przyciskiem Ok.

Na koniec przeładuj lub uruchom ponownie usługę. Następnie skonfiguruj dane domeny DNS lub edytuj lokalny plik hosta na komputerze, aby przetestować pakiet. Uruchom przeglądarkę internetową i spróbuj uzyskać dostęp do VPS poprzez nazwę domeny.

Hostowanie serwera HTTP

Hosting serwera HTTP

Serwer HTTP Nginx (Engine-X) jest najpopularniejszym. Jest lekki, stabilny, gotowy do użycia i może być używany przez każdego do budowania potężnych i dynamicznych stron internetowych. Może również służyć jako proxy, co czyni go doskonałym wyborem do zabezpieczania ruchliwych i popularnych stron internetowych.

Zainstaluj serwer HTTP Nginx:

  1. Instalacja serwera. Pakiety można uzyskać z repozytorium oprogramowania Ubuntu, wszystkie, potrzebny aby to zrobić, należy uruchomić polecenie apt.
  2. Po zainstalowaniu serwera należy skonfigurować zaporę sieciową tak, aby dopuszczała ruch HTTP. Domyślnie firewall Ubuntu nie jest włączony. W niektórych przypadkach jest on włączany automatycznie ze względów bezpieczeństwa.
  3. Jeśli firewall jest włączony, powyższe jednolinijkowe polecenia powinny zezwolić na ruch HTTP zarówno na porcie 80 jak i 443. Jeśli sprawdzisz stan zapory, możesz zobaczyć, że HTTP Full jest dozwolony z dowolnego miejsca, w tym ruch v6.
  4. Wejdź na stronę witryny Nginx domyślnie lub przejdź do IP serwera lub hosta.
  5. Dodatkowe foldery zostaną utworzone podczas instalacji serwera HTTP Nginx. Zawierają one pliki konfiguracyjne, ustawienia, a pozostałe wymienione powyżej katalogi są najczęściej używane na serwerze.

Użyj odwrotnego proxy

Używanie odwrotnego proxy

Odwrócone proxy to serwer, który znajduje się pomiędzy wewnętrznymi aplikacjami a zewnętrznymi klientami, przekierowując żądania klientów. Chociaż wiele popularnych aplikacji, takich jak np.js, mogą być uruchamiane jako serwery same w sobie, NGINX posiada szereg zaawansowanych funkcji równoważenia obciążenia, bezpieczeństwa i akceleracji, funkcje te nie są obecne w większości dedykowanego oprogramowania. Użycie NGINX jako reverse proxy pozwala na dodanie tych funkcji do dowolnej aplikacji.

Aby to zrobić, należy utworzyć prosty węzeł Node.js, aby zademonstrować, jak skonfigurować NGINX jako serwer reverse proxy.

Instalacja proxy:

  1. Te kroki instalują Mainline w Ubuntu z oficjalnego repozytorium NGINX Inc. W przypadku innych dystrybucji należy zapoznać się z podręcznikiem administratora, aby uzyskać informacje na temat konfiguracji dla środowisk produkcyjnych.
  2. Otwórz /etc/apt/sources.edytora tekstu listy i dodaj na dole następującą linię.
  3. Zastąp nazwę kodową w tym przykładzie nazwą kodową zainstalowanej wersji.Na przykład dla Ubuntu Nginx php fpm o nazwie Bionic Beaver zaklęcia bioniczne.
  4. Zaimportuj klucz podpisujący pakiet z repozytorium i dodaj go do apt.
  5. Upewnij się, że serwer jest gotowy do pracy i zostanie włączony automatycznie po ponownym uruchomieniu.

Przykładowe zastosowanie

Przykładowe zastosowanie

Użycie curl do załadowania skryptu konfiguracyjnego dostarczonego przez NodeSource. Zamień wersję Node w poleceniu curl na tę, którą chcesz hostować.

Uruchomić skrypt:

  1. Skrypt apt-get update zostanie uruchomiony automatycznie, więc możesz zainstalować Node.js.
  2. Node Packet Manager (NPM) zostanie rozpakowany razem z Node.js .
  3. utworzyć katalog aplikacji.
  4. Inicjalizacja węzła.aplikacja js w.
  5. Zaakceptuj wszystkie wartości domyślne, gdy pojawi się monit.
  6. Zainstaluj Express.js: npm install --save express.
  7. Za pomocą edytora tekstu utwórz i dodaj następującą treść: app.js.
  8. Uruchomić aplikację.
  9. W osobnym oknie terminala użyj curl, aby upewnić się, że oprogramowanie jest uruchomione.

Konfiguracja węzła.js

W tym momencie możesz skonfigurować Node.js, aby służył jako przykładowa aplikacja na publicznym adresie IP Linode, umożliwiając wystawienie go na działanie Internetu. Zamiast tego instaluje Ubuntu Nginx php, aby przekazać wszystkie żądania z publicznego IP do serwera nasłuchującego na localhost.

Podstawowa konfiguracja dla NGINX z reverse proxy: utwórz plik, zastąp go w tym przykładzie.com, domenę oprogramowania lub publiczny adres IP.

Uruchomić aplikację

Dyrektywa proxy_pass jest konfiguracją odwrotnego proxy. Określa, że wszystkie żądania, które pasują do bloku lokalizacji, w tym przypadku do ścieżki głównej, powinny być przekierowane na port 3000 na localhost z uruchomionym Node.js.

Procedura ustawiania:

  1. Wyłącz lub usuń domyślną stronę Welcome to NGINX:sudo mv /etc/nginx/conf.d/domyślny.conf /etc/nginx/conf.d/domyślny.conf.wyłączony.
  2. Sprawdź konfigurację: sudo nginx -t.
  3. Jeśli nie są zgłaszane żadne błędy, przeładuj nowy:sudo nginx -s reload.
  4. Przejdź do publicznego adresu IP Linode w przeglądarce, pojawi się komunikat Hello World!
Dodatkowe parametry: stały link

Dla prostej aplikacji proxy_pass wystarczy ta dyrektywa. Jednak w bardziej złożonych przypadkach mogą być wymagane dodatkowe opcje. Na przykład Node.js jest często używany w tych przypadkach, które wymagają dużej ilości komunikacji w czasie rzeczywistym. Aby dostosować, wyłącz funkcję buforowania ssl Nginx Ubuntu. Możesz zmienić lub dodać nagłówki, które są wysyłane wraz z żądaniami proxy_set_header. Ta konfiguracja używa wbudowanej zmiennej $remote_addr do wysłania adresu IP klienta źródłowego do hosta proxy.

Jedną z zalet odwrotnego proxy jest łatwa konfiguracja HTTPS z certyfikatem TLS. Certbot to narzędzie, które pozwala szybko uzyskać darmowe certyfikaty od Let`s Encrypt. Możliwe jest użycie Certbota w Ubuntu 16.04, oficjalna strona internetowa zawiera szczegółowe instrukcje jak zainstalować i używać głównych dystrybucji. Po otrzymaniu certyfikatów za pośrednictwem Certbota, automatycznie zaktualizuje pliki, aby wykorzystać nowy certyfikat.

Certbot poprosi o informacje o stronie internetowej. Odpowiedzi zostaną zapisane jako część certyfikatu.

Konfiguracja Node.js

Certbot pyta również, czy powinien automatycznie przekierować ruch HTTP na HTTPS. Zaleca się wybranie tej opcji. Po zakończeniu pracy narzędzia Certbot będzie przechowywał wygenerowane klucze i wydane certyfikaty w katalogu /etc/letsencrypt/live/$domain, gdzie $domain jest nazwą domeny wprowadzoną podczas fazy generowania certyfikatu Certbota.

Certbot zaleca określenie konfiguracji serwera WWW w domyślnym katalogu certyfikatów lub utworzenie dowiązań symbolicznych. Klucze i certyfikaty nie powinny być przenoszone do innego katalogu. Na koniec Certbot zaktualizuje serwer, aby używał nowego certyfikatu i przekieruje ruch HTTP na HTTPS, jeśli ta opcja została wybrana.

Jeśli masz firewall skonfigurowany na Linode, możesz dodać regułę zezwalającą na połączenia przychodzące i wychodzące do usługi HTTPS. W Ubuntu, UFW jest szeroko stosowanym i prostym narzędziem do zarządzania regułami firewalla.

Strona serwera HTTP

Jednym z wymagań przy wdrażaniu aplikacji lub strony internetowej jest posiadanie po stronie serwera serwera WWW lub HTTP, który obsługuje. Ten ostatni nawiązuje dwukierunkowe lub jednokierunkowe połączenia z klientem i generuje odpowiedź na żądania zgłaszane. Dlatego też jest on integralną częścią infrastruktury internetowej.

Nginx to statystycznie rozwijający się serwer www, który przyciąga coraz więcej webmasterów na całym świecie. W porównaniu z Apache i innymi serwerami internetowymi, Nginx jest znacznie lepszy pod względem szybkości przetwarzania sesji równoległych, czasu odpowiedzi i wykorzystania zasobów. Ma to związek z architekturą i inteligentną obsługą połączeń. Kolejną zaletą oferowaną przez Nginx jest asynchroniczna architektura, która usprawnia obsługę współbieżnych połączeń.

Artykuły na ten temat