Poznajmy proces konfiguracji serwerów Apache i Nginx, aby umożliwić hosting wielu stron internetowych w ramach jednej instancji.
Wykorzystanie serwera w chmurze do hostowania witryn internetowych oferuje znacznie większą elastyczność w porównaniu do tradycyjnego hostingu współdzielonego. Daje to możliwość instalowania dowolnego oprogramowania, skalowania zasobów w zależności od potrzeb oraz dostosowywania konfiguracji w celu osiągnięcia optymalnej wydajności i efektywności kosztowej.
W przypadku prowadzenia kilku witryn biznesowych, zamiast hostowania każdej z nich oddzielnie, można skorzystać z funkcji wirtualnych serwerów (Virtual Hosts) dostępnej w oprogramowaniu serwerów WWW. Przyjrzyjmy się bliżej takiemu scenariuszowi.
Załóżmy, że dysponujemy dwoma witrynami, które chcielibyśmy uruchomić na jednej wirtualnej maszynie w chmurze.
Zanim przejdziemy do konkretnych działań, warto zrozumieć, na jakiej zasadzie to działa.
Koncepcja umieszczania wielu witryn internetowych na pojedynczej instancji serwera WWW jest znana jako Virtual Host. Konfiguracja wirtualnych serwerów jest definiowana w pliku konfiguracyjnym, gdzie każdemu serwerowi przypisuje się odpowiedni adres URL. W momencie, gdy serwer WWW otrzyma zapytanie do konkretnego adresu, kieruje ruch do właściwego katalogu głównego witryny.
Konfiguracja Virtual Host w Apache dla wielu domen
- Zaloguj się do serwera, na którym zainstalowany jest serwer HTTP Apache.
- Przejdź do katalogu, w którym przechowywane są pliki konfiguracyjne Apache (zwykle w domyślnej instalacji jest to /etc/httpd/conf/httpd.conf).
- Wykonaj kopię zapasową pliku httpd.conf.
- Utwórz sekcje VirtualHost dla każdej z domen. Poniżej przedstawiono przykład dla dwóch domen.
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /opt/htdocs/lab ServerName lab.newsblog.pl.com ErrorLog logs/lab.newsblog.pl.com-error_log CustomLog logs/lab.newsblog.pl.com-access_log common </VirtualHost> <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /opt/htdocs/gf-dev ServerName gf.dev ErrorLog logs/gf.dev-error_log CustomLog logs/gf.dev-access_log common </VirtualHost>
Pamiętaj: Dokonaj zmian w wartościach ServerAdmin, DocumentRoot, ServerName, ErrorLog i CustomLog, tak aby odpowiadały Twoim potrzebom i lokalizacji plików.
- Zrestartuj serwer Apache i przetestuj dostępność obu domen.
Konfiguracja Virtual Host w Nginx dla wielu domen
- Zaloguj się do serwera, na którym zainstalowany jest serwer Nginx.
- Przejdź do katalogu, gdzie zainstalowano Nginx (w typowej instalacji jest to /etc/nginx/).
Istnieje kilka sposobów wprowadzenia zmian. Możesz edytować plik nginx.conf lub zmodyfikować plik konfiguracyjny, jeśli taki istnieje. Możesz także utworzyć oddzielny plik custom.conf w folderze conf.d. Wybierz preferowaną metodę i wykonaj kopię zapasową przed zmianami.
- Dodaj bloki serwera dla obu domen, tak jak pokazano poniżej.
server { listen 80; root /opt/htdocs/lab; index index.html index.htm; server_name lab.newsblog.pl.com; location / { try_files $uri $uri/ =404; } } server { listen 80; root /opt/htdocs/gf-dev; index index.html index.htm; server_name gf.dev; location / { try_files $uri $uri/ =404; } }
Pamiętaj: Zaktualizuj wartości root i server_name, aby odzwierciedlały Twoją konfigurację.
- Uruchom ponownie serwer Nginx i przetestuj działanie obu adresów URL.
Koniecznie uaktualnij rekordy DNS dla swoich domen, tak aby wskazywały na adres IP serwera. Po wykonaniu tych kroków, Twoje strony powinny być dostępne pod odpowiednimi adresami.
Podsumowanie
Przedstawiony powyżej przewodnik opisuje proces hostowania wielu domen na jednej instancji serwera WWW, z wykorzystaniem Apache lub Nginx. Po uruchomieniu witryny, nie zapomnij przetestować jej pod kątem potencjalnych luk bezpieczeństwa.
Czy artykuł okazał się dla Ciebie pomocny? Zachęcamy do podzielenia się nim z innymi!
newsblog.pl