Articles

Jak zainstalować i skonfigurować serwer Nginx po raz pierwszy

Nginx jest jednym z popularnych serwerów internetowych i jest używany jako serwer proxy, reverse proxy server, load balancer. Jest to popularna alternatywa dla starzejącego się serwera Apache, ponieważ został zaprojektowany z myślą o aplikacjach wymagających dużych zasobów. Jest napędzany zdarzeniami, asynchroniczny i nieblokujący, dlatego często bije Apache pod względem wydajności. Nginx jest często używany w dużych serwerach internetowych, do których miliony użytkowników jednocześnie łączą się, aby uzyskać dostęp do zasobów.

będąc asynchronicznym, zdolność do obsługi milionów użytkowników bez spowalniania serwera sprawia, że wybór numer jeden w wielu przedsiębiorstwach do wdrażania swoich systemów. Ten przewodnik pokazuje, jak łatwo zainstalować i skonfigurować serwery internetowe Nginx. Przewodnik używa Ubuntu 18.04 jako wersji, ponieważ jest to LTS; dlatego ma długoterminowe wsparcie, które jest wymagane w środowisku produkcyjnym. Instalacja i konfiguracja serwera WWW Nginx jest stosunkowo łatwa, ale wymaga wielu kroków.

instalacja

te instrukcje zostały napisane dla Ubuntu 18.04 w wersji LTS, a zatem nie powinny być używane w innym Linuksie, chyba że te same polecenia działają tam również. Zaleca się zainstalowanie Nginx na zwykłym koncie użytkownika z uprawnieniem sudo w celu zmniejszenia ryzyka bezpieczeństwa. Jednak ten artykuł nie pokazuje, jak utworzyć konto użytkownika, ponieważ jest poza jego zakresem.

  1. przed zainstalowaniem Nginx zaktualizuj lokalne informacje o pakietach, a następnie zaktualizuj Pakiety za pomocą następujących poleceń. Upewnia się, że najnowsza wersja Nginx jest pobierana z repozytorium (serwera), gdy używane jest polecenie install nginx. Polecenie dist-upgrade inteligentnie obsługuje zależności, aby zapobiec problemom z niekompatybilnością między różnymi pakietami.
apt-get update&& apt-get dist-upgrade
  1. zainstaluj Nginx za pomocą następującego polecenia
apt-get install nginx
  1. instalacja wymaga użycia tylko 3 głównych poleceń, następnie nginx jest zainstalowany na serwerze. Ponieważ w tym przewodniku, Nginx jest używany jako serwer WWW, indeks.html jest tworzony zaraz po zainstalowaniu Nginx i można do niego uzyskać dostęp poprzez zewnętrzny adres IP serwera.
  2. http://IPAddress

    1. mimo, że jest zainstalowany, ważne jest, aby upewnić się, że usługa Nginx automatycznie uruchamia się, jeśli serwer zostanie ponownie uruchomiony z jakiegoś powodu. Można to zrobić w następujący sposób.
    sudo systemctl włącz nginx
    1. użyj następujących dwóch poleceń, aby dostosować uprawnienia systemu plików. Pierwsze polecenie przypisuje aktualnie zalogowanemu użytkownikowi uprawnienia do pliku. Jeśli to jest root, to jest root, jeśli to nazwa własna, to jego nazwa. Za pomocą drugiego polecenia ustawiane jest uprawnienie pliku. Ponieważ uprawnienie dla „wszystkich użytkowników” jest ustawione na R, plik może być odczytany przez każdego, co jest zalecane dla publicznie dostępnych plików. Standardy w dotyczące uprawnień do zapisu, które są wymagane, aby właściciel dokonał zmian w pliku, i są przydatne, gdy plik jest modyfikowany za pomocą skryptu podczas pobytu na serwerze, na przykład na pulpicie nawigacyjnym WordPress.
    sudo chown-R $USER:$USER/var/www /html
    sudo chmod-R 755/var/www / example.com

    Konfiguracja

    instalacja Nginx jest prosta, jak opisano powyżej, ale konfiguracja wymaga więcej wysiłku, a także zależy od wymagań i środowiska serwera. Ten przewodnik pokazuje, jak skonfigurować serwer WWW nginx dla jednej domeny, jak dostosować podstawowe ustawienia, jak skonfigurować SSL/TLS, który jest wymagany przez Google do poprawy rangi witryny sieci web, i wreszcie, jakie polecenia są zaangażowane w konfigurację serwera Nginx.

    1. Użyj następującego polecenia, aby otworzyć domyślny plik Nginx za pomocą edytora nano. Domyślny plik jest tworzony automatycznie, gdy Nginx jest zainstalowany po raz pierwszy, i określa konfigurację dla serwera www. Ta konfiguracja zawiera blok serwera, który jest dedykowany dla jednej nazwy domeny i przetwarza żądania do swojej domeny zgodnie z regułami w jej granicach. Nano editor to po prostu edytor konsoli, który pomaga w łatwym otwieraniu plików tekstowych. Zaleca się używanie lepszego edytora, takiego jak Notepad++ z rozszerzeniem NppFTP, ponieważ jest on dość przyjazny dla użytkownika w porównaniu do konsolowego edytora tekstu.
    nano /etc/nginx/sites-available/default

    plik konfiguracyjny zawiera kilka ważnych linii, jak widać w poniższym fragmencie kodu.

  • listen dyrektywa określa numer portu adresu IP do nasłuchiwania. Dla szyfrowanych połączeń serwerów internetowych jest to 443, a dla nieszyfrowanych serwerów internetowych to 80. Default_server sprawia, że jest to domyślny serwer ze wszystkich bloków sever, co oznacza, że ten blok serwera jest wykonywany, jeśli pole nagłówka żądania nie pasuje do żadnej z podanych nazw serwera. Przydatne jest przechwytywanie wszystkich żądań do serwera niezależnie od nazwy hosta (w tym przypadku domeny).
  • nazwa_serwera określa nazwę hosta, Zwykle nazwę domeny. Zaleca się używanie zarówno nagich, jak i www domeny, na przykład …
nazwa_serwera google.com www.google.com
  • dyrektywa Root określa, gdzie strony internetowe znajdują się na serwerze plików, na przykład indeks.html i wszystkie inne podkatalogi strony internetowej. Dyrektywa wymaga tylko ścieżki do głównego folderu strony internetowej, reszta jest pobierana w stosunku do tego.dyrektywa
  • Index określa nazwę pliku indeksu, co oznacza plik, który otwiera się po wpisaniu nazwy hosta w pasku adresu przeglądarki internetowej.
  • blok lokalizacji jest przydatny do przetwarzania dyrektyw pod nazwą hosta, na przykład google.com/images, / filmy. / Przechwytuje dyrektywę root nazwy domeny. dyrektywa try_files próbuje podać zawartość (plik, folder) lub wyrzuca komunikat nie znaleziono, jeśli zasób nie jest dostępny. Jeśli katalog / videos ma zostać przetworzony, użyj location / videos.
server {
listen :80 default_server;
listen: 80 default_server;
server_name_;
root/var/www/html/;
index index.indeks php.indeks html.htm;
location / {
try_files $uri $uri/ =404;
}
}
  1. zaleca się ponowne uruchomienie serwera po jego pierwszej konfiguracji. Ponowne uruchomienie usługi nginx, przeładowanie pliku konfiguracyjnego, jak również. Jeśli w pliku konfiguracyjnym dokonano prostej zmiany, wystarczy użyć reload zamiast restartu, aby zapobiec zerwaniu połączenia z serwerem.
sudo systemctl restart nginx
  1. w dzisiejszych czasach ważne jest szyfrowanie połączenia ze stroną w celu poprawy pozycji strony w indeksie Google. Szyfrowanie można wykonać poprzez wdrożenie certyfikatu SSL/TLS na serwerze WWW. Na rynku dostępnych jest wiele certyfikatów, zarówno płatnych, jak i bezpłatnych, ale ten przewodnik wykorzystuje darmowy certyfikat znany jako Let ’ s encrypt. Jest to bezpłatne, ale wymaga odnawiania certyfikatu raz na 3 miesiące w porównaniu do roku w przypadku certyfikatów komercyjnych. Poniższe polecenie dodaje do systemu certbot PPA (personal package archive). Umowy PPA są hostowane w launchpad.net, a gdy apt-get jest używany, są one natychmiast pobierane do systemu.
sudo add-apt-repository ppa:certbot / certbot

  1. poniższe polecenie pobiera i instaluje certbot flavour dla nginx. Jak wspomniano powyżej, jest pobierany z launchpad.net.
sudo apt-get install python-certbot-nginx
  1. po zainstalowaniu użyj następującego polecenia, aby włączyć SSL / TLS dla określonej nazwy domeny i jej smaku www. Powinna to być ta sama domena skonfigurowana we wspomnianych krokach. Jeśli domena nie jest skonfigurowana, upewnij się, że została wykonana przed tym krokiem.
domena sudo certbot –nginx-D.rozszerzenie
– d www.domena.rozszerzenie

  1. gdy SSL / TLS został zainstalowany jak wyżej, uruchom ponownie serwer, aby zmiany odniosły skutek.
sudo systemctl uruchom ponownie nginx
  1. zaleca się również użycie konfiguracji podanej na poniższej stronie internetowej, ponieważ poprawia ona konfigurację SSL / TLS dla określonych wymagań. Ważne opcje na poniższej stronie internetowej to: nowoczesny, średniozaawansowany i stary. Nowoczesna opcja sprawia, że połączenie jest bardzo bezpieczne, ale kosztem kompatybilności,a tym samym strona nie ładuje się na starszych przeglądarkach. Opcja pośrednia równoważy zarówno kompatybilność, jak i bezpieczeństwo, dlatego jest zalecana dla większości stron internetowych. Stary typ jest dla starszych systemów. Nie jest zalecany do witryn produkcyjnych, ale do ostrzegania użytkowników, gdy odwiedzają witrynę z dawnych przeglądarek internetowych, takich jak Internet Explorer 5.

https://ssl-config.mozilla.org/

wniosek

Nginx jest serwerem proxy, odwrotnym serwerem proxy i load balancer, a ze względu na wysoką wydajność jest często używany w przedsiębiorstwach do obsługi swoich usług internetowych. Ten przewodnik uczy, jak łatwo zainstalować i skonfigurować serwer Nginx po raz pierwszy na serwerze Ubuntu. Instalacja i konfiguracja nie są takie trudne, ponieważ wszystkie polecenia abstrakcyjne skomplikowane zadania pod warstwą. Podsumowując, nie ma powodu, aby nie używać Nginx, chyba że firma spodziewa się innego wymogu, którego nie oferuje Nginx.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *