Instalowanie Nginx:
Nginx jest dostępny w oficjalnym repozytorium pakietów Centos 8. Tak więc jest bardzo łatwy do zainstalowania.
Najpierw zaktualizuj pamięć podręczną repozytorium pakietów DNF w następujący sposób:
$ sudo dnf makeCache
Teraz zainstaluj Nginx z następującym poleceniem:
$ sudo dnf instaluj nginx
Aby potwierdzić instalację, naciśnij Y a następnie naciśnij .
Nginx należy zainstalować.
Zarządzanie usługą Nginx:
Domyślnie, nginx usługa powinna być nieaktywny (nie działa) i wyłączony (nie zaczynaj automatycznie od rozruchu).
$ sudo systemCtl status nginx
Możesz zacząć nginx usługa w następujący sposób:
$ sudo systemctl start nginx
nginx usługa powinna być działanie.
$ sudo systemCtl status nginx
Teraz dodaj nginx usługa uruchamiania systemu w następujący sposób:
$ sudo systemCtl włącz Nginx
Konfigurowanie zapory ogniowej:
Musisz skonfigurować zaporę ogniową, aby umożliwić dostęp do portu HTTP 80 i portu HTTPS 443, aby uzyskać dostęp do serwera WWW Nginx z innych komputerów w sieci.
Możesz umożliwić dostęp do portu HTTP i HTTPS za pomocą następującego polecenia:
$ sudo firewall-cmd --add-service = http, https --Permanent
Teraz, aby zmiany zaczęły się obowiązywać, uruchom następujące polecenie:
$ sudo firewall-cmd-odpowiadanie
Testowanie serwera internetowego:
Musisz znać adres IP lub nazwę domeny serwera WWW Nginx, aby uzyskać do niego dostęp.
Adres IP swojego serwera WWW Nginx możesz za pomocą następującego polecenia:
$ ip a
W moim przypadku adres IP to 192.168.20.175. Będzie dla Ciebie inaczej. Więc upewnij się, że odtąd zastąp go swoim.
Teraz odwiedź http: // 192.168.20.175 z Twojej przeglądarki internetowej. Powinieneś zobaczyć następną stronę. Oznacza to, że serwer WWW Nginx działa.
Pliki konfiguracyjne Nginx:
Pliki konfiguracyjne Nginx Web Server są w /etc/nginx/ informator.
$ Tree /etc /nginx
/etc/nginx/nginx.conf to główny plik konfiguracyjny Nginx.
Domyślny katalog główny Web Server Nginx jest /usr/share/nginx/html/. Tak więc powinieneś przechowywać pliki witryny.
Konfigurowanie podstawowego serwera internetowego:
W tej sekcji pokażę, jak skonfigurować podstawowy serwer WWW Nginx.
Najpierw weź kopię zapasową oryginalnego pliku konfiguracyjnego Nginx za pomocą następującego polecenia:
$ sudo mv -v/etc/nginx/nginx.conf/etc/nginx/nginx.conf.oryginalny
Teraz utwórz nowy plik konfiguracyjny Nginx w następujący sposób:
$ sudo nano/etc/nginx/nginx.conf
Teraz wpisz następujące wiersze w /etc/nginx/nginx.conf Plik i zapisz plik.
użytkownik Nginx nginx;Tutaj, użytkownik Opcja służy do ustawiania użytkownika i grupy nginx uruchom nginx odpowiednio.
error_log Opcja służy do ustawienia ścieżki pliku dziennika błędu do /var/log/nginx/błąd.dziennik. W tym miejscu będą przechowywane błędy związane z serwerem Nginx.
Główna konfiguracja serwera Nginx jest zdefiniowana w serwer sekcja wewnątrz http Sekcja. Możesz zdefiniować więcej niż jeden serwer sekcja wewnątrz http w razie potrzeby sekcja.
w serwer Sekcja,
Słuchać Opcja służy do konfigurowania Nginx do słuchania portu 80 (port HTTP) dla żądań internetowych.
Nazwa serwera Opcja służy do ustawienia jednej lub więcej nazw domen dla serwera WWW Nginx. Jeśli ustawienia DNS są prawidłowe, możesz uzyskać dostęp do serwera WWW Nginx za pomocą tych nazw domen.
access_log służy do ustawienia ścieżki pliku dziennika dostępu do /var/log/nginx/access.dziennik. Gdy ktoś próbuje uzyskać dostęp do serwera WWW Nginx, informacje o dostępie (i.mi. Adres IP, URL, kod stanu HTTP) zostanie zalogowany do tego pliku.
Lokalizacja Opcja służy do ustawienia katalogu głównego serwera WWW Nginx.
Tutaj źródło katalog jest /usr/share/nginx/html/.
W tym miejscu należy przechowywać wszystkie pliki witryny. indeks Zestawy opcji indeks.html Jako domyślny plik do obsługi, jeśli nie jest wymagany żaden konkretny plik. Na przykład, jeśli odwiedzisz http: // 192.168.20.175/Myfile.html, wtedy Nginx powróci mój plik.html plik. Ale jeśli odwiedzisz http: // 192.168.20.175/, wtedy Nginx wyśle Ci indeks.plik HTML, ponieważ nie żądano konkretnego pliku.
Teraz usuń wszystkie pliki z /usr/share/nginx/html/ Katalog (root internetowy) w następujący sposób:
$ sudo rm -rfv/usr/share/nginx/html/*
Teraz stwórz nowe indeks.html plik w /usr/share/nginx/html/ katalog w następujący sposób:
Teraz wpisz następujące wiersze w indeks.html Plik i zapisz plik.
© 2020 Linuxhint.com
Teraz uruchom ponownie nginx usługa w następujący sposób:
$ sudo systemctl restart nginx
Teraz odwiedź http: // 192.168.20.175 z przeglądarki internetowej i powinieneś zobaczyć następną stronę. gratulacje! Skonfigurowałeś swój pierwszy serwer WWW Nginx.
Możesz skonfigurować strony błędów w Nginx. Na przykład, jeśli katalog strony/pliku/. Możesz ustawić niestandardową stronę błędu HTML dla kodu stanu HTTP 404, który zostanie zwrócony do przeglądarki.
Aby to zrobić, dodaj następujący wiersz w serwer Sekcja nginx.conf plik.
serwerTeraz utwórz plik 404.html w korzeniu internetowym Nginx /usr/share/nginx/html/ następująco:
$ sudo nano/usr/share/nginx/html/404.html
Teraz wpisz następujące wiersze w 404.html i zapisz plik.
Strona nie znaleziona
© 2020 Linuxhint.com
Teraz uruchom ponownie nginx usługa w następujący sposób:
$ sudo systemctl restart nginx
Teraz spróbuj uzyskać dostęp do nieistniejącej ścieżki (http: // 192.168.20.175/nopage.html) i należy zobaczyć następującą stronę błędu.
Jeśli 404.html Plik znajduje się na innej ścieżce systemu plików (powiedzmy /usr/share/nginx/html/errors/ katalog), możesz zmapować adres URL /404.html do tego następująco:
serwerTeraz zrób nowy katalog /usr/share/nginx/html/errors/ następująco:
$ sudo mkdir/usr/share/nginx/html/błędy
Teraz utwórz nowy plik 404.html W katalogu /usr/share/nginx/html/errors/ następująco:
$ sudo nano/usr/share/nginx/html/errors/404.html
Teraz wpisz następujące wiersze w 404.html Plik i zapisz plik.
Teraz uruchom ponownie nginx usługa w następujący sposób:
$ sudo systemctl restart nginx
Teraz spróbuj uzyskać dostęp do nieistniejącej ścieżki (http: // 192.168.20.175/nopage.html) i powinieneś zobaczyć zaktualizowaną stronę błędu.
W ten sam sposób możesz ustawić stronę błędu dla innych kodów stanu HTTP.
Możesz także ustawić tę samą stronę błędu dla wielu kodów stanu HTTP. Na przykład, aby ustawić tę samą stronę błędu /404.html Dla kodów stanu HTTP 403 I 404, Napisz error_page Opcja w następujący sposób:
ERROR_PAGE 403 404 /404.html;Konfigurowanie dzienników:
W nginx, error_log I access_log Opcje są używane do rejestrowania komunikatów o błędach i informacji o dostępie.
Format error_log I access_log Opcje to:
error_log/ścieżka/do/błąd/log/file [opcjonalnie: niestandardowe-log-nazwa];Możesz zdefiniować własny dziennik błędów i formaty dziennika dostępu, jeśli chcesz.
Aby to zrobić, użyj log_format opcja w http sekcja, aby zdefiniować niestandardowy format dziennika w następujący sposób.
httpTutaj nazwa formatu dziennika to prosty. Niektóre zmienne nginx są używane do definiowania niestandardowego formatu dziennika. Odwiedź instrukcję dotyczącą zmiennych wbudowanych nginx, aby dowiedzieć się o wszystkich zmiennych nginx.
Format dziennika niestandardowego powinien być zamknięty w pojedynczych cytatach. Format dziennika można zdefiniować w jednym wierszu lub w wielu liniach. Pokazałem, jak zdefiniować format dziennika w wielu wierszach w tym artykule. Nie będziesz mieć żadnych problemów z formatem dziennika pojedynczego linii, zaufaj mi!
Kiedyś format dziennika prosty definiuje, access_log Opcja służy do informowania Nginx, aby użył go jako dziennika dostępu.
W ten sam sposób możesz ustawić niestandardowy format dziennika błędów za pomocą error_log opcja.
W tym artykule skonfigurowałem tylko niestandardowy format dziennika dla dziennika dostępu.
Teraz uruchom ponownie nginx usługa w następujący sposób:
$ sudo systemctl restart nginx
Teraz możesz monitorować plik dziennika dostępu w następujący sposób:
$ sudo ogon -f/var/log/nginx/access.dziennik
Możesz także monitorować plik dziennika błędów w następujący sposób:
$ sudo ogon -f/var/log/nginx/błąd.dziennik
Jeśli chcesz, możesz monitorować pliki dziennika dostępu i dziennika błędów w tym samym czasie, co następuje:
$ sudo ogon -f/var/log/nginx/błąd, dostęp.dziennik
Jak widać, używany jest nowy format dziennika dostępu.
Odmawianie dostępu do niektórych ścieżek:
Możesz użyć wyrażeń regularnych, aby dopasować niektóre ścieżki URI i odmówić dostępu do niego w Nginx.
Powiedzmy, że Twoja witryna jest zarządzana przez Git i chcesz odmówić dostępu do .git/ katalog w twoim korzeni internetowym.
Aby to zrobić, wpisz w następujących wierszach w serwer Sekcja /etc/nging/nginx.conf plik:
serwerJak widać, dostęp do każdej zawieranej ścieżki .git odmawia się.
Konfigurowanie kompresji:
Możesz kompresować zawartość sieci przed wysłaniem ich do przeglądarki za pomocą gzip Aby zaoszczędzić użycie przepustowości serwera WWW Nginx.
Mam kilka obrazów JPEG w /usr/share/nginx/html/images/ informator.
Mogę uzyskać dostęp do tych obrazów za pomocą ścieżki URI /obrazy.
Aby włączyć kompresję GZIP tylko dla obrazów JPEG na ścieżce URI /obrazy, Wpisz w następujących wierszach w serwer Sekcja /etc/nginx/nginx.conf plik.
serwerTutaj, GZIP_Comp_LEVEL służy do ustawienia poziomu kompresji. Może to być dowolna liczba od 1 do 9. Im wyższy poziom, tym mniejszy będzie skompresowany plik.
Plik zostanie skompresowany tylko wtedy, gdy rozmiar pliku jest powyżej gzip_min_length. W tym przykładzie ustawiłem to na około 100 kb. Tak więc pliki JPEG mniejsze niż 100 kb nie będą kompresowane GZIP.
GZIP_TYPES służy do ustawienia typu MIME plików, które zostaną skompresowane.
Typ MIME można znaleźć z rozszerzeń plików w następujący sposób:
$ grep jpg/etc/nginx/mime.typy
Jak widać, dla .jpg Lub .JPEG rozszerzenie pliku, typ MIME to Obraz/JPEG.
Możesz ustawić jeden lub więcej typów MIME za pomocą GZIP_TYPES opcja.
Jeśli chcesz ustawić wiele typów MIME, upewnij się, że oddzień je przestrzeniami w następujący sposób:
"Teraz uruchom ponownie nginx usługa w następujący sposób:
$ sudo systemctl restart nginx
Jak widać, Nginx wysyła pliki obrazów skompresowanych GZIP do przeglądarki na żądanie.
Jak widać na zrzucie ekranu poniżej, plik skompresowany GZIP jest mniejszy niż oryginalny plik.
$ sudo ogon -f/var/log/nginx/access.dziennik
Włączanie HTTPS:
Możesz bardzo łatwo włączyć SSL w Nginx. W tej sekcji pokażę ci, jak ustawić samowystarczalny certyfikat SSL w Nginx.
Najpierw przejdź do /etc/ssl/ katalog w następujący sposób:
$ cd /etc /ssl
Teraz wygeneruj klucz SSL serwer.klucz i certyfikat serwer.crt Z następującym poleceniem:
$ sudo openssl req -x509 -nodes -Days 365 -Newkey RSA: 2048 -Keyout
serwer.klucz -ut serwer.crt
NOTATKA: Ty musisz mieć Openssl zainstalowane, aby to działało. Jeśli polecenie OpenSSL jest niedostępne, zainstaluj Openssl Z następującym poleceniem:
$ sudo dnf install openSsl -y
Teraz wpisz swój 2-literowy kod kraju (i.mi. USA dla USA, Wielka Brytania dla Wielkiej Brytanii, Ru dla Rosji, CN dla Chin) i prasa .
Teraz wpisz nazwę stanu/prowincji i naciśnij .
Teraz wpisz nazwę miasta i naciśnij .
Teraz wpisz nazwę swojej firmy i naciśnij .
Teraz wpisz nazwę jednostki organizacyjnej Twojej firmy, która użyje tego certyfikatu i naciśnij .
Teraz wpisz w pełni kwalifikowaną nazwę domeny (FQDN) swojego serwera WWW Nginx i naciśnij . Certyfikat SSL będzie ważny tylko wtedy, gdy dostęp do serwera WWW Nginx jest dostępny za pomocą tej nazwy domeny.
Teraz wpisz swój adres e -mail i naciśnij .
Twój certyfikat SSL powinien być gotowy.
Certyfikat SSL i klucz powinny być wygenerowane w /etc/ssl/ informator.
$ ls -lh
Teraz otwórz plik konfiguracyjny Nginx /etc/nginx/nginx.conf i zmień Słuchać port do 443 i wpisz w następujących wierszach w serwer Sekcja.
serwerTeraz uruchom ponownie nginx usługa w następujący sposób:
$ sudo systemctl restart nginx
W prawdziwym życiu będziesz mieć prawidłową konfigurację DNS. Ale w celu testowania skonfigurowałem lokalną nazwę domeny opartej na plikach na komputerze, z którego używałem do uzyskiwania dostępu do serwera WWW Nginx.
Jeśli chcesz śledzić, otwórz /etc/hosts Plik w następujący sposób:
$ sudo nano /itp
Następnie dodaj następujący wiersz do /etc/hosts plik.
192.168.20.175 www.przykład.com
Teraz spróbuj odwiedzić https: // www.przykład.com i powinieneś zobaczyć następną stronę. Zobaczysz Twój połączenie nie jest bezpieczne Wiadomość, ponieważ jest to samowystarczalny certyfikat. To jest dobre tylko do testowania celu.
W prawdziwym życiu będziesz kupować certyfikaty SSL od organów certyfikatów (CAS) i korzystać z nich. Więc nie zobaczysz tego typu wiadomości.
Jak widać, Nginx służył strony internetowej przez HTTPS. Więc SSL działa.
Informacje o SSL www.przykład.com.
Przekierowanie żądań HTTP do HTTPS:
Jeśli ktoś odwiedzi twoją stronę internetową przez protokół HTTP (http: // www.przykład.com lub http: // 192.168.20.175) zamiast https (https: // www.przykład.com), nie chcesz odrzucić żądania HTTP. Jeśli to zrobisz, stracisz gościa. To, co naprawdę powinieneś zrobić, to przekierować użytkownika do witryny włączonej SSL. Jest to naprawdę proste.
Najpierw otwórz plik konfiguracyjny Nginx /etc/nginx/nginx.conf i stwórz nowe serwer sekcja wewnątrz http sekcja w następujący sposób:
httpTo jest finał /etc/nginx/nginx.conf plik:
użytkownik Nginx nginx;Teraz uruchom ponownie nginx usługa w następujący sposób:
$ sudo systemctl restart nginx
Teraz, jeśli spróbujesz uzyskać dostęp do http: // 192.168.20.175 lub http: // www.przykład.com, zostaniesz przekierowany na https: // www.przykład.com.
Tak więc instalujesz i konfigurujesz serwer WWW Nginx na Centos 8. Dziękujemy za przeczytanie tego artykułu.