Wprowadzenie
Nginx to popularny serwer HTTP będący alternatywą dla Apache2. Może być używany jako reverse proxy, serwer e-mail lub WWW. Według badania Netcraft z lipca 2015 r. Nginx obejmuje obecnie swoim zasięgiem 14% rynku, a od 2007 r. ma tendencję wzrostową.
W tym poradniku zainstalujemy Nginx na serwerze Debian 8.
Wymagania:
- tworzymy nowy serwer VPS z systemem Debian 8.
Krok 1 – instalacja Ngnix.
W tym kroku będziemy używać wbudowanego instalatora pakietów o nazwie apt-get
. Ułatwia on w znaczny sposób zarządzanie czystą instalacją.
W ramach wymagań wstępnych należy zaktualizować indeks pakietu apt
z apt-get
oraz aktualizujemy system do najnowszych dostępnych pakietów.
$ apt-get update
$ apt-get upgrade
W związku z tym, że będziemy instalować serwer www nginx, upewniamy się, że nie mamy zainstalowanego serwera apache.
$ apt-get remove apache* --purge
Nginx to dedykowany serwer HTTP, który skupia się na obsłudze danych mocno obciążających serwer, przy małym zużyciu pamięci. Aby go zainstalować, używamy następującego polecenia:
$ apt-get install nginx
Krok 2 – testowanie serwera.
W tym kroku sprawdzimy, czy serwer Nginx jest dostępny. W przeglądarce internetowej otwieramy http://twoj_adres_ip_serwera, zastępując swój twoj_adres_ip_serwera
, adresem IP serwera. Powinniśmy zobaczyć domyślną stronę Nginx, potwierdzającą, że serwer jest uruchomiony.
Jeśli nie mamy dostępu do przeglądarki internetowej, możemy przetestować serwer z poziomu wiersza polecenia. Najlepiej przetestować go z innego systemu, aby upewnić się, że witryna jest widoczna dla świata zewnętrznego, poleceniem:
$ curl twoj_adres_ip_serwera
Powinniśmy zobaczyć poniższy output HTML:
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx on Debian!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx on Debian!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working on Debian. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a></p>
<p>
Please use the <tt>reportbug</tt> tool to report bugs in the
nginx package with Debian. However, check <a
href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?ordering=normal;archive=0;src=nginx;repeatmerged=0">existing
bug reports</a> before reporting a new bug.
</p>
<p><em>Thank you for using debian and nginx.</em></p>
</body>
</html>
W przypadku błędów, nie zobaczymy powyższego output’u, a zastaniemy:
curl: (52) Empty reply from server
Krok 3 - zarządzanie procesem Nginx
Teraz, gdy mamy działający serwer WWW, możemy przejść przez kilka podstawowych poleceń potrzebnych do jego zarządzaniem.
Aby zatrzymać serwer WWW, wpisujemy:
$ systemctl stop nginx
Aby uruchomić serwer WWW po jego zatrzymaniu, wpisujemy:
$ systemctl start nginx
Aby zatrzymać, a następnie ponownie uruchomić usługę, wpisujemy:
$ systemctl restart nginx
Jeśli po prostu dokonujemy zmian konfiguracyjnych, Nginx możemy przeładować, bez utraty połączeń. W tym celu możemy użyć tego polecenia:
$ systemctl reload nginx
Możemy upewnić się, że nasz serwer internetowy zostanie automatycznie zrestartowany uruchomimy go ponownie, wpisując:
$ systemctl enable nginx
Aby przetestować działanie konfiguracji, restartujemy serwer poleceniem:
$ shutdown -r now
Następnie wylogowujemy się (ponieważ serwer jest teraz ponownie uruchamiany). Po kilku minutach możemy powtórzyć krok 2, aby sprawdzić, czy serwer startuje przy ponownym uruchomieniu komputera.
Krok 4 - Rootowanie i konfiguracja serwera.
Jeśli chcemy rozpocząć obsługę własnych stron lub aplikacji przez Nginx, musimy znać lokalizacje plików konfiguracyjnych Nginx i domyślnego katalogu głównego serwera.
Domyślny root serwera.
Domyślnym katalogiem głównym serwera jest /var/www/html
. Pliki umieszczone w tym katalogu będą wyświetlane na serwerze WWW. Ta lokalizacja jest określona w domyślnym pliku w konfiguracyjnym bloku serwera, dostarczanym z Nginx, który znajduje się w /etc/nginx/sites-enabled/default
.
Konfiguracja bloku serwera
Każde dodatkowe bloki serwerów, znane jako hosty wirtualne, możemy dodawać, tworząc nowe pliki konfiguracyjne w katalogu /etc/nginx/sites-available
. Aby uaktywnić te konfiguracje, możemy stworzyć symlink do /etc/nginx/sites-enabled
, używając następującego polecenia:
$ ln -s /etc/nginx/sites-available/site /etc/nginx/sites-enabled/site
Wszystkie pliki konfiguracyjne z katalogu obsługującego witrynę, zostaną załadowane przez Nginx.
Konfiguracja globalna Nginx
Główny plik konfiguracyjny Nginx znajduje się w katalogu /etc/nginx/nginx.conf
. W tym miejscu możemy zmieniać ustawienia, takie jak zmiana użytkownika, który uruchamia deamon Nginx i liczbę procesów roboczych, które pojawiają się podczas jego uruchamiania.
Podsumowanie.
Teraz, mając zainstalowany serwer internetowy, mamy wiele opcji dotyczących typu obsługiwanej przez nas zawartości oraz technologii pozwalających choćby na zwiększenie możliwości. Warto też zbadać dodatkowe opcje zabezpieczające serwer. Pamiętajmy, że jest on otwarty dla sieci, a tym samym bardzo wrażliwy.