Blog / Baza Wiedzy

Jak zainstalować Nginx na Ubuntu i Debian: Kompletny przewodnik serwera

4 min czytania
VoxiHost Team
Jak zainstalować Nginx na Ubuntu i Debian: Kompletny przewodnik serwera

Nginx to jeden z najpopularniejszych serwerów WWW na świecie. Oryginalnie napisany aby rozwiązać "problem C10k" (obsługę 10,000 jednoczesnych połączeń), wyewoluował w domyślny wybór dla stron internetowych wysokiej wydajności. Czy to serwujesz statyczne pliki HTML, uruchamiasz API Node.js, czy konfigurujesz odwrotne proxy dla złożonego backendu, Nginx jest dokładnie tym czego potrzebujesz.

Instalacja Nginx na dowolnym serwerze Linux działającym na Ubuntu lub Debian zajmuje mniej niż 15 minut.

Krok 1: Zainstaluj Nginx

Ponieważ Nginx jest dostępny w domyślnych repozytoriach Ubuntu i Debian, jest prosty do zainstalowania używając menedżera pakietów apt.

Przed instalacją jakiegokolwiek nowego oprogramowania, odśwież swój lokalny indeks pakietów:

sudo apt update

Teraz zainstaluj Nginx:

Uruchamianie sudo apt install nginx -y na Ubuntu aby zainstalować serwer WWW Nginx z apt

sudo apt install nginx -y

Ubuntu i Debian automatycznie uruchamiają usługę Nginx natychmiast po zakończeniu instalacji.

Krok 2: Dostosuj zaporę

Jeśli włączyłeś zaporę UFW (jak mocno zalecamy w naszym Przewodniku Konfiguracji UFW), musisz zezwolić na połączenia do Nginx tak aby świat zewnętrzny mógł dotrzeć do twoich stron internetowych.

Podczas instalacji, Nginx rejestruje się z UFW aby dostarczyć kilka automatycznych profili aplikacji. Możesz je zobaczyć wpisując:

Uruchamianie sudo ufw app list na Ubuntu aby wyświetlić dostępne profile aplikacji zapory Nginx

sudo ufw app list

Powinieneś zobaczyć:

Available applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH
  • Nginx HTTP: Otwiera port 80 (normalny, niezaszyfrowany ruch WWW).
  • Nginx HTTPS: Otwiera port 443 (zaszyfrowany ruch TLS/SSL).
  • Nginx Full: Otwiera zarówno port 80 jak i 443.

Dla ogromnej większości przypadków, ostatecznie będziesz chciał certyfikat SSL, więc najlepiej zezwolić na oba od razu:

Uruchamianie sudo ufw allow 'Nginx Full' aby otworzyć port HTTP 80 i HTTPS 443 przez UFW na Ubuntu

sudo ufw allow 'Nginx Full'

Zweryfikuj że zmiana została pomyślnie zastosowana:

sudo ufw status

Krok 3: Sprawdź swój serwer WWW

W tym momencie, twój serwer WWW jest w pełni operacyjny. Aby to zweryfikować, otwórz swoją ulubioną przeglądarkę internetową i nawiguj do publicznego adresu IP swojego serwera.

Jeśli nie znasz publicznego adresu IP swojego serwera, możesz go znaleźć uruchamiając:

Uruchamianie curl -4 icanhazip.com na Ubuntu aby pobrać publiczny adres IP serwera

curl -4 icanhazip.com

Wpisz ten adres IP w przeglądarce: http://your_server_ip

Domyślna strona powitalna Nginx w przeglądarce potwierdzająca pomyślną instalację na serwerze Ubuntu

Powinieneś zobaczyć domyślną stronę lądowania "Welcome to nginx!". To potwierdza że oprogramowanie działa poprawnie i że twoja zapora zezwala na ruch.

Krok 4: Zarządzaj procesem Nginx

Teraz gdy masz swój serwer WWW uruchomiony i działający, musisz wiedzieć jak nim zarządzać. Będziesz używać poleceń systemctl do kontrolowania usługi Nginx.

Aby zatrzymać serwer WWW:

Uruchamianie sudo systemctl stop nginx aby zatrzymać proces serwera WWW Nginx na Ubuntu

sudo systemctl stop nginx

Aby uruchomić serwer WWW gdy jest zatrzymany:

Uruchamianie sudo systemctl start nginx aby uruchomić serwer WWW Nginx na Ubuntu lub Debian

sudo systemctl start nginx

Aby zatrzymać a następnie całkowicie zrestartować usługę:

Uruchamianie sudo systemctl restart nginx aby całkowicie zrestartować Nginx i zastosować nową konfigurację na Ubuntu

sudo systemctl restart nginx

Jeśli tylko dokonałeś zmian konfiguracyjnych (jak dodanie nowej domeny), Nginx może przeładować bez rozłączania aktywnych połączeń. To jest polecenie którego będziesz używać najczęściej:

Uruchamianie sudo systemctl reload nginx aby przeładować konfigurację Nginx bez przerywania aktywnych połączeń

sudo systemctl reload nginx

Krok 5: Skonfiguruj Blok Serwera (Wirtualny Host)

Domyślnie, Nginx na Ubuntu ma jeden blok serwera włączony który serwuje dokumenty z katalogu /var/www/html. Podczas gdy to działa dobrze dla pojedynczej strony, staje się niezarządzalne jeśli hostujesz wiele stron.

Zamiast modyfikować domyślną konfigurację, powinieneś stworzyć Blok Serwera dla swojej domeny (w świecie Apache, te są nazywane Wirtualnymi Hostami).

Dla tego przykładu, użyjemy your_domain.com.

1. Utwórz katalog dla swojej domeny

Uruchamianie sudo mkdir -p aby utworzyć nowy katalog główny dokumentów strony internetowej w /var/www na Ubuntu z Nginx

sudo mkdir -p /var/www/your_domain.com/html

2. Przypisz własność katalogu

Przypisz własność do obecnego użytkownika niestandardowego (tak abyś mógł łatwo przesyłać pliki później):

sudo chown -R $USER:$USER /var/www/your_domain.com/html

3. Utwórz przykładową stronę index.html

Tworzenie przykładowej strony testowej index.html za pomocą edytora nano wewnątrz /var/www dla Nginx na Ubuntu

nano /var/www/your_domain.com/html/index.html

Wklej ten prosty HTML do pliku:

<html>
    <head>
        <title>Witaj na your_domain.com!</title>
    </head>
    <body>
        <h1>Sukces! Blok serwera your_domain.com działa!</h1>
    </body>
</html>

Zapisz i zamknij plik.

4. Utwórz konfigurację bloku serwera Nginx

Teraz musimy powiedzieć Nginx aby serwował ten folder gdy ktoś odwiedza your_domain.com. Utwórz nowy plik konfiguracyjny w katalogu sites-available:

Tworzenie nowego pliku konfiguracyjnego bloku serwera Nginx dla niestandardowej domeny w sites-available na Ubuntu

sudo nano /etc/nginx/sites-available/your_domain.com

Wklej następującą bazę konfiguracyjną:

server {
    listen 80;
    listen [::]:80;

    root /var/www/your_domain.com/html;
    index index.html index.htm index.nginx-debian.html;

    server_name your_domain.com www.your_domain.com;

    location / {
        try_files $uri $uri/ =404;
    }
}

Zapisz i zamknij plik.

5. Włącz plik poprzez linkowanie go do sites-enabled

Nginx ignoruje pliki w sites-available chyba że mają dowiązanie symboliczne umieszczone w katalogu sites-enabled. Utwórz to dowiązanie teraz:

Uruchamianie sudo ln -s aby utworzyć dowiązanie symboliczne z sites-available do sites-enabled aby aktywować wirtualny host Nginx

sudo ln -s /etc/nginx/sites-available/your_domain.com /etc/nginx/sites-enabled/

6. Przetestuj konfigurację i przeładuj

Przed restartem Nginx, zawsze testuj konfigurację aby upewnić się że nie ma błędów składni:

Uruchamianie sudo nginx -t aby przetestować składnię konfiguracji Nginx przed przeładowaniem serwera WWW na Ubuntu

sudo nginx -t

Jeśli wynik mówi syntax is ok i test is successful, przeładuj Nginx aby zastosować zmiany:

sudo systemctl reload nginx

Nginx powinien teraz serwować twoją nazwę domeny. Zakładając że zaktualizowałeś rekordy DNS-A swojej domeny aby wskazywały na adres IP twojego VPS, nawigacja do http://your_domain.com pokaże stronę sukcesu którą właśnie stworzyłeś.

Jeśli szukasz wysoce niezawodnego i błyskawicznie szybkiego środowiska do hostowania swojego nowego serwera Nginx, uruchom jedną z naszych instancji Premium VPS i wdróż swoje projekty już dziś.

Języki