Skonfiguruj bloki serwera Nginx (hosty wirtualne) w systemie Ubuntu 15.10

  • Eustace Evans
  • 0
  • 1109
  • 56

Informacje o blokach serwerów

Bloki serwerów (zwane również hostami wirtualnymi na serwerze internetowym Apache) są używane do konfigurowania więcej niż jednej domeny lub witryn internetowych przy użyciu jednego adresu IP.

Aby uzyskać więcej informacji na temat hostów wirtualnych Apache, skorzystaj z następującego łącza.

  • Skonfiguruj wirtualne hosty Apache w systemie Ubuntu 15.10

Jest to bardzo przydatne, jeśli ktoś chce obsługiwać wiele witryn internetowych przy użyciu jednego adresu IP na jednym VPS. VirtualHost to termin Apache. Nginx nie ma wirtualnych hostów, ma „bloki serwera”, które używają dyrektywy nazwa_serwera i nasłuchiwania do łączenia się z gniazdami tcp.

W tym samouczku pokażę, jak skonfigurować bloki serwera na serwerze internetowym nginx na serwerze Ubuntu 15.10 64-bitowym. Chociaż te kroki powinny działać na poprzednich wersjach Ubuntu, takich jak Ubuntu 15.04, 14.10, 14.04 itp.

Scenariusz

Na potrzeby tego samouczka będę korzystał z 64-bitowej edycji serwera Ubuntu 15.10 i zamierzam udostępniać dwie strony testowe o nazwie „Unixmen1.local” i „Unixmen2.local”. Adres IP i nazwa hosta mojego testera to 192.168.1.103/24 server.unixmen.local odpowiednio. Upewnij się, że zastąpiłeś nazwy domen wirtualnych własnymi.

Zainstaluj serwer WWW Nginx

Przed zainstalowaniem serwera nginx zaktualizujmy nasz serwer Ubuntu 15.10:

sudo apt-get update

Teraz zainstaluj serwer WWW nginx za pomocą następującego polecenia:

sudo apt-get install nginx

Po zainstalowaniu serwera nginx sprawdźmy, czy serwer WWW działa poprawnie, czy nie, przechodząc do adresu URL http: // adres-ip /.

Jak widać na powyższym zrzucie ekranu, serwer WWW nginx jest uruchomiony.

Skonfiguruj bloki serwera Nginx

1. Utwórz katalogi wirtualne

Teraz przejdźmy do konfiguracji wirtualnych hostów. Jak wspomniałem wcześniej, zamierzam hostować dwa wirtualne hosty o nazwie „Unixmen1.local”, i „Unixmen2.local”.

Utwórz katalog publiczny, aby umieścić dane dwóch wirtualnych hostów.

Najpierw utwórzmy katalog dla unixmen1.local teren:

sudo mkdir -p /var/www/html/unixmen1.local/public_html

Następnie utwórz katalog dla unixmen2.local teren:

sudo mkdir -p /var/www/html/unixmen2.local/public_html

2. Konfigurowanie prawa własności i uprawnień

Powyższe katalogi są teraz własnością użytkownika root. Powinniśmy zmienić własność tych dwóch katalogów na zwykłego użytkownika.

sudo chown -R $ UŻYTKOWNIK: $ USER /var/www/html/unixmen1.local/public_html/ 
sudo chown -R $ USER: $ USER /var/www/html/unixmen2.local/public_html/

Zmienna „$ USER” wskazuje aktualnie zalogowanego użytkownika.

Ustaw uprawnienia odczytu do katalogu głównego Nginx (/ var / www / html /) katalogu, aby każdy mógł czytać pliki z tego katalogu.

sudo chmod -R 755 / var / www / html /

Stworzyliśmy katalogi do przechowywania danych stron internetowych i przypisaliśmy im niezbędne uprawnienia i własność.

4. Utwórz przykładowe strony dla bloków serwera

Teraz musimy utworzyć przykładowe strony, które mają być obsługiwane przez strony internetowe.

Najpierw utwórzmy przykładową stronę do wirtualnego hosta unixmen1.local.

Stwórz „index.html” dla unixmen1.local wirtualny host,

sudo vi /var/www/html/unixmen1.local/public_html/index.html

Dodaj następującą zawartość:

  www.unixmen1.local   

Witamy na stronie Unixmen1.local

Zapisz i zamknij plik.

Podobnie dodaj przykładową stronę do drugiego hosta wirtualnego.

sudo vi /var/www/html/unixmen2.local/public_html/index.html

Dodaj następującą zawartość:

  www.unixmen2.local   

Witamy na stronie Unixmen2.local

Zapisz i zamknij plik.

5. Utwórz pliki bloku serwera

Domyślnie nginx jest dostarczany z domyślnym plikiem bloku serwera o nazwie domyślna. Skopiujemy plik "domyślna" zawartość pliku do naszych nowych plików bloków serwera.

sudo cp / etc / nginx / sites-available / default /etc/nginx/sites-available/unixmen1.local 
sudo cp / etc / nginx / sites-available / default /etc/nginx/sites-available/unixmen2.local

Teraz zmodyfikuj plik unximen1.local, aby odzwierciedlał nasze nowe własne wartości.

sudo vi /etc/nginx/sites-available/unixmen1.local

Wprowadź odpowiednie zmiany, które odzwierciedlają unixmen1 teren.

[…] Serwer nasłuchiwanie 80 domyślny_serwer; słuchaj [::]: 80 domyślny_serwer; # Konfiguracja SSL # # nasłuchiwanie 443 ssl default_server; # Listen [::]: 443 ssl default_server; # # Certyfikaty z podpisem własnym wygenerowane przez pakiet ssl-cert # Nie używaj ich na serwerze produkcyjnym! # # Include snippets / snakeoil.conf;         root /var/www/html/unixmen1.local/public_html;         # Dodaj index.php do listy, jeśli używasz PHP index.html index.htm index.nginx-debian.html;         nazwa_serwera unixmen1.local www.unixmen1.local;         lokalizacja / # Najpierw spróbuj obsłużyć żądanie jako plik, następnie # jako katalog, a następnie wróć do wyświetlania 404. try_files $ uri $ uri / = 404;  […]

Podobnie jak w przypadku, zmodyfikuj drugi plik bloku serwera.

sudo vi /etc/nginx/sites-available/unixmen2.local

Wprowadź odpowiednie zmiany, które odzwierciedlają unixmen2 teren.

[…] Serwer słuchaj 80; słuchaj [::]: 80; # Konfiguracja SSL # # nasłuchiwanie 443 ssl default_server; # Listen [::]: 443 ssl default_server; # # Certyfikaty z podpisem własnym wygenerowane przez pakiet ssl-cert # Nie używaj ich na serwerze produkcyjnym! # # Include snippets / snakeoil.conf;         root /var/www/html/unixmen2.local/public_html;         # Dodaj index.php do listy, jeśli używasz PHP index.html index.htm index.nginx-debian.html;         nazwa_serwera unixmen2.local www.unixmen2.local;         lokalizacja / # Najpierw spróbuj obsłużyć żądanie jako plik, następnie # jako katalog, a następnie wróć do wyświetlania 404. try_files $ uri $ uri / = 404;  […] 

Pamiętaj, że musisz usunąć default_server linia obok linii słuchać 80; i słuchaj [::]: 80; w drugim bloku serwera (unixmen2.local).

słuchać 80; słuchaj [::]: 80;

Po zmodyfikowaniu plików bloków serwera, wyłącz domyślny blok serwera i włącz nowe bloki, jak pokazano poniżej.

sudo rm / etc / nginx / sites-enabled / default 
sudo ln -s /etc/nginx/sites-available/unixmen1.local / etc / nginx / sites-enabled / 
sudo ln -s /etc/nginx/sites-available/unixmen2.local / etc / nginx / sites-enabled /

Na koniec uruchom ponownie usługę nginx.

W Ubuntu 15.10 / 15.04:

sudo systemctl zrestartuj nginx

W Ubuntu 14.10 i wcześniejszych wersjach:

Uruchom ponownie usługę sudo nginx

Otóż ​​to. Teraz pomyślnie skonfigurowaliśmy bloki serwera nginx na naszym serwerze Ubuntu.

Testowanie bloków serwera

Edytuj plik / etc / hosts,

sudo vi / etc / hosts

Dodaj nazwy domen wirtualnych jedna po drugiej, jak pokazano poniżej.

[…] 192.168.1.103 unixmen1.local 192.168.1.103 unixmen2.local

Zapisz i zamknij plik.

Otwórz przeglądarkę i wskaż adres URL http: //unixmen1.local lub http: //unixmen2.local. Powinieneś zobaczyć przykładowe strony, które stworzyliśmy wcześniej.

Strona testowa Unixmen1.local:

Strona testowa Unixmen2.local:

Jeśli chcesz uzyskać dostęp do tych witryn ze swoich systemów zdalnych, dodaj rzeczywiste rekordy nazw domen na serwerze DNS. Dlatego nie mam żadnych rzeczywistych nazw domen i serwera DNS, przetestowałem to tylko w moim systemie lokalnym i działało idealnie, jak się spodziewałem.

Podobnie możesz dodać dowolną liczbę bloków serwera. Mam nadzieję, że ten samouczek gdzieś ci pomoże.

Powodzenia!

Twoje zdrowie!!




Jeszcze bez komentarzy

Zbiór przydatnych informacji o systemie operacyjnym Linux i nowych technologiach
Świeże artykuły, praktyczne wskazówki, szczegółowe recenzje i poradniki. Poczuj się jak w domu w świecie systemu operacyjnego Linux