Po uzyskaniu dostępu do hostingu online prawdopodobnie będziesz chciał wiedzieć, jak hostować wiele witryn na jednym serwerze. Chociaż może się to wydawać skomplikowane, im więcej dowiesz się na ten temat, zrozumiesz, że możesz to zrobić dzięki pomocnym przewodnikom technicznym.
Różne serwery WWW mogą zapewnić Ci bezpłatne, otwarte i szeroko używane usługi na całym świecie. Zanim jednak wyjaśnimy, jak hostować wiele witryn na jednym serwerze, powinniśmy wiedzieć, czym jest serwer WWW i jak działa.
Czym jest serwer WWW?
Serwer WWW przechowuje i udostępnia zawartość taką jak tekst, obrazy, wideo i dane aplikacji dla witryny. Innymi słowy, klienci, którzy żądają tej zawartości, mogą z niej korzystać dzięki serwerom WWW. Jednym z najczęściej spotykanych klientów jest przeglądarka internetowa, która żąda danych z Twojej witryny, gdy użytkownik kliknie na łącze lub pobierze plik.
Serwer WWW komunikuje się poprzez Protokół transferu hipertekstu (HTTP) z przeglądarką internetową. Zawartość większości stron internetowych jest kodowana w Hypertext Markup Language (HTML). Treści mogą być statyczne, takie jak tekst i obrazy, lub dynamiczne, na przykład lista artykułów zaznaczonych przez klienta do zakupu. Większość serwerów WWW obsługuje języki skryptów po stronie serwera umożliwiające kodowanie logiki biznesowej w komunikacji i dostarczanie treści dynamicznych. Zazwyczaj obsługiwane są języki takie jak Active Server Pages (ASP), JavaScript, PHP, Python i Ruby.
Jak działa serwer WWW?
Serwery WWW działają w oparciu o model klient-serwer W tej standardowej strukturze klient żąda zasobu lub usługi od serwer.
Serwery WWW przechodzą kilka kroków, aby przetworzyć żądania klientów internetowych:
- Gdy użytkownik chce załadować zawartość na stronę internetową, przeglądarka internetowa żąda dostępu (żądanie HTTP) przez Internet.
- Przeglądarka internetowa wyszukuje adres IP żądanej strony internetowej. Przekształca URL stron internetowych, korzystając z System Nazw Domen (DNS) lub przeszukuje swoją pamięć podręczną. Proces ten pomoże Ci zlokalizować serwer WWW, na którym hostowane są pliki witryny.
- W tym momencie serwer WWW otrzymuje żądanie HTTP i przetwarza je poprzez Serwer HTTP.
- Gdy serwer HTTP zaakceptuje żądanie, przeszuka pliki serwera, aby uzyskać odpowiednie dane.
- Serwer WWW zwraca pliki witryny do przeglądarki, która wysłała żądanie. Następnie użytkownik widzi zawartość witryny.
Jeśli jednak serwer HTTP nie znajdzie lub nie przetworzy żądanych plików, w przeglądarce internetowej pojawi się komunikat o błędzie. Teraz, gdy znasz już główne koncepcje serwerów WWW, możesz łatwo nauczyć się, jak hostować wiele serwerów WWW na jednym serwerze.
Hostuj wiele witryn na jednym serwerze: Apache
Jeśli chcesz hostować więcej niż jedną witrynę na serwerze, powinieneś użyć wirtualnych plików hosta Apache, aby wskazać, która z domen powinna być użyta. Jedną z metod rozwiązywania żądań witryn jest wirtualne hosty oparte na nazwie. Gdy ktoś odwiedzi Twoją witrynę, żądanie trafi na serwer, który ustali, które pliki witryny mają być podane na podstawie nazwy domeny. Ta technika umożliwia hostowanie wielu witryn na jednym serwerze z tym samym adresem IP. Ten artykuł wyjaśni, jak skonfigurować plik hosta wirtualnego dla każdej z Twoich domen. Zanim przejdziemy do szczegółów, pamiętaj, że powinieneś zalogować się na konto root.
Przeczytaj również: “Linux vs Windows hosting: Który jest dla Ciebie lepszy?”
Krok 1: Utwórz katalog dla każdej witryny
Najpierw zainstaluj apache2, używając tego polecenia
W systemach opartych na Debian
apt install apache2 -y
W systemach opartych na CentOS
yum install apache2 -y
Musisz utworzyć katalog dla każdej witryny, którą będziesz hostować (w folderze /var/www). Rozważ domain.com i domain2.com jako nazwy domen.
mkdir -p /var/www/domain.com/public_html
mkdir -p /var/www/domain2.com/public_html
Krok 2: Ustaw uprawnienia folderów
chmod -R 755 /var/www
Krok 3: Skonfiguruj stronę indeksu
Aby wyświetlić stronę główną, powinieneś upewnić się, że index.html plik jest utworzony dla każdej domeny. Możesz ustawić coś prostego jak testing dla domain.com w tym pliku.
vim /var/www/domain.com/public_html/index.html
testing dla domain.com
Teraz musisz zapisać i wyjść używając Ucieczka przycisku i wpisując: wq
Możesz użyć poniższego polecenia, aby powtórzyć wszystkie te kroki dla drugiej domeny.
vim /var/www/domain2.com/public_html/index.html
Krok 4: Skopiuj plik konfiguracyjny dla każdej witryny
Musisz skopiować domyślny plik konfiguracyjny dla każdej witryny, upewniając się, że zawsze masz kopię domyślną do przyszłego tworzenia witryn.
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain.com.conf
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain2.com.conf
Krok 5: Edytuj plik konfiguracyjny dla każdej witryny
Przynajmniej zmienisz i dodasz wyróżnione linie w <VirtualHost *:80> i </VirtualHost> tagi.
Zwróć uwagę, że ServerAlias to alternatywna nazwa dla twojej domeny; w tym przypadku i w większości zastawiasz www przed nazwą domeny, aby inni mogli zobaczyć witrynę z www lub bez www (ServerName).
vim /etc/apache2/sites-available/domain.com.conf

Znowu wyjdź i zapisz używając wq. Musisz powtórzyć ten proces dla domain2.com.conf pliku; upewnij się, że zaktualizujesz ServerName, ServerAlias, i DocumentRoot dla drugiej domeny.
Przeczytaj również: “Apache vs NGINX”
Krok 6: Włącz plik konfiguracyjny
Twój serwer jest ustawiony do odczytywania pliku 000-default.conf domyślnie. Jednak w poprzednim kroku utworzyliśmy nowy plik konfiguracyjny dla każdej domeny. Dlatego musimy wyłączyć plik domyślny i użyć odpowiedniego dla nowego pliku konfiguracyjnego.
a2dissite 000-default.conf
Możesz mapować swój serwer do swoich domen, włączając każdy z nowo utworzonych plików .conf.
a2ensite domain.com.conf
a2ensite domain2.com.conf
Teraz uruchommy ponownie Apache, aby zarejestrować wprowadzone zmiany.
systemctl restart apache2
Krok 7: Weryfikacja konfiguracji Apache
Po uruchomieniu Apache możesz sprawdzić, czy konfiguracje działają, edytując plik /etc/host na twoim komputerze lub DNS twojej domeny.
Po skonfigurowaniu każdego aspektu możesz odwiedzić twoją witrynę w przeglądarce, aby zobaczyć strony index.html utworzone w kroku 3.
Przeczytaj także: Lokalne vs. Cloud
Hostuj wiele witryn na jednym serwerze: IIS
Możemy użyć serwera internetowego IIS (Internet Information Services) do obsługi dziesiątek, a nawet setek witryn. Możesz hostować wiele witryn na nim, nasłuchując i odpowiadając na tym samym Port TCP. Jednak interfejs Menedżera IIS pokazuje, że możesz hostować inną witrynę bez powiązania jej z innym portem, takim jak 8080. Ta sekcja wyjaśni, jak możesz hostować wiele witryn na tym samym serwerze IIS i powiązać je z tym samym portem i adresem IP lub nawet z różnymi adresami IP.
Jak zainstalować IIS na serwerze Windows?
Po zainstalowaniu usług IIS na serwerze Windows tworzona jest pusta Witryna domyślna, która nasłuchuje na standardowym porcie sieciowym HTTP - TCP 80. Technicznie rzecz biorąc, nasza witryna jest powiązana z portem TCP/80. Aby otworzyć tę witrynę, musimy wpisać w przeglądarce nazwę serwera IIS ("http://web-srv1") lub jego adres IP ("http://192.168.1.100").
Krok 1: Powiązywanie witryny IIS
Serwer sieci web IIS działający na Windows Server może pomóc Ci w hostowaniu wielu witryn. Jednak usługi IIS kierują żądania HTTP poprawnie tylko wtedy, gdy każda witryna ma przypisaną unikalną wartość identyfikującą. Witryna IIS zawiera trzy atrybuty tworzące unikalną kombinację dla każdej witryny. Atrybuty te są wymienione poniżej:
- numer portu TCP
- adres IP
- nagłówek hosta (hostname)
Informacje o hostowanych witrynach przechowywane są w ServerBindings atrybucie usług IIS Metabase, a ich format wygląda następująco: IP:Port:Nazwa hosta. Jeśli więc chcesz hostować wiele witryn na jednym serwerze (ten sam port i adres IP), musisz użyć unikalnego nagłówka Host.
Możesz się zastanawiać, czym jest nagłówek hosta. Nagłówek hosta to część żądania HTTP wysyłanego do serwera, która określa, do której witryny jest ono kierowane. Dlatego musimy wspomnieć ten nagłówek hosta po stronie serwera sieciowego. Pamiętaj, że DNS zawiera prawidłowy rekord pasujący do nazwy hosta i adresu IP serwera sieci web IIS.
Załóżmy teraz, że masz witrynę działającą na serwerze IIS i nasłuchującą na porcie 80. Co zrobić, gdy chcesz powiązać drugą witrynę na tym samym porcie?
Krok 2: Powiązywanie drugiej witryny IIS
W Menedżerze Internetowych Usług Informacyjnych (IIS) musisz utworzyć kolejną witrynę, używając okna Dodaj witrynę, i nazwać ją TestSite. Ta witryna będzie znajdować się w C:\inetpub\TestSite. Zwróć uwagę na to, aby na razie nie podawać nazwy hosta.
Po skopiowaniu zawartości witryny do C:\inetpub\TestSite otwórz Menedżer Internetowych Usług Informacyjnych (IIS) i w nazwie hosta serwera dodaj witrynę, aby otworzyć dla Ciebie kreatora.


Po kliknięciu Ok zobaczysz komunikat ostrzeżenia, informujący, że nie możesz użyć binding *:80 dla obu tych witryn.


Po zaakceptowaniu tego ostrzeżenia będziesz mieć kolejną witrynę powiązaną z portem 80. W rezultacie nie możesz jej uruchomić bez zatrzymania pierwszej witryny. Lepiej zrozumiesz to, zwracając uwagę na poniższy obraz.

Hosting Windows VPS
Sprawdź nasze przystępne plany Windows VPS z wydajnym sprzętem, niskimi opóźnieniami i darmowym Windows do wyboru!
Odbierz darmowy WindowsHosting wielu witryn na serwerze IIS przy użyciu nagłówków hosta
Aby utworzyć drugie witryny IIS z unikatowym wiązaniem, musisz wybrać inną nazwę (Host Name). W tym celu kliknij prawym przyciskiem myszy TestSite i wybierz Edytuj Bindings. Wybierz potrzebne wiązanie i kliknij Edytuj.
Jak widać na poniższym obrazie, należy określić unikatową nazwę hosta, którą będzie używać użytkownik. W tym samouczku używamy TestSite; wpisz ją w polu Hostname.

Możesz skonfigurować wiązanie witryny IIS za pomocą wiersza polecenia. Jeśli używasz IIS 7 lub nowszego, po uruchomieniu polecenia do konfiguracji wiązania witryny IIS zobaczysz coś podobnego:
C:\Windows\System32\inetsrv\appcmd.exe set site /site.name:testsite /+bindings.[protocol='http',bindingInformation='*:80:testsite']
Drugą witrynę możesz uruchomić w taki sam sposób jak pierwszą.

W tym miejscu musisz dodać alias DNS dla serwera (rekord A lub CNAME), wskazujący na adres IP lub nazwę hosta serwera IIS. Jeśli korzystasz z domeny Active Directory, musisz utworzyć rekordy DNS na kontrolerze domeny. IIS umożliwia utworzenie CNAME rekordu dla nazwy TestSite w konsoli DNS (dnsmgmt.msc) i ustawienie nazwy domeny serwera IIS jako docelowego hosta FQDN.

Możesz również utworzyć ten rekord DNS za pomocą PowerShell i następującego polecenia:
Add-DnsServerResourceRecordCName -HostNameAlias web-srv1.woshub.com -Name testsite -ZoneName woshub.com
Spróbujmy otworzyć http://TestSite w przeglądarce. Jeśli wszystko zostało wykonane prawidłowo, powinna otworzyć się bez problemów.

Hosting Linux bez komplikacji
Szukasz lepszego sposobu na hostowanie stron i aplikacji internetowych? Pracujesz nad nowym projektem? A może po prostu nie chcesz korzystać z Windows? Od tego właśnie mamy Linux VPS.
Zamów swój Linux VPSUruchamianie wielu witryn z różnymi adresami IP na serwerze IIS
Teraz porozmawiajmy o uruchamianiu dwóch witryn na serwerze IIS z różnymi adresami IP. Najpierw musisz dodać oddzielny interfejs VLAN na serwerze Windows lub przydzielić dodatkowy adres IP (alias) do karty sieciowej.
W tym samouczku serwer ma podstawowy adres IP 192.168.13.100, a my dodamy alias IP 192.168.13.101 do tego samego adaptera sieciowego:
Get-NetIPAddress | ft IPAddress, InterfaceAlias, SkipAsSource
New-NetIPAddress –IPAddress 192.168.13.101 –PrefixLength 24 –InterfaceAlias “Ethernet” –SkipAsSource $True
Teraz musisz utworzyć rekord A dla nowej witryny na serwerze DNS:
Add-DnsServerResourceRecordA -Name NewSite3 -IPv4Address 192.168.13.101 -ZoneName woshub.com -TimeToLive 01:00:00 –CreatePtr
Pozostaje otworzyć ustawienia Site Binding i powiązać witrynę z dodatkowym adresem IP hosta. Wiązaniem witryn na serwerze IIS możesz zarządzać za pomocą PowerShell. Do tego celu wykorzystywany jest moduł WebAdministration:
Import-Module WebAdministration
Możesz wyświetlić informacje o wszystkich dostępnych witrynach IIS i ich wiązaniach:
Get-IISSite
Lub tylko o jednej witrynie:
(Get-Website -Name NewSite).bindings.Collection

Użyj następującego polecenia, aby zmienić wiązanie tej witryny; pozwala ono na zmianę adresów IP, portu lub nazwy:
Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:80:NewSite1" -PropertyName 'Port' -Value '8080'
Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:8080:NewSite1" -PropertyName 'IPAddress' -Value '192.168.13.100'
Uruchom to polecenie, aby dodać nowe wiązanie do danej witryny IIS:
New-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:" -Protocol http
Aby usunąć powiązanie, użyj następującego polecenia:
Remove-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:"
Jak widać, możesz uruchamiać wiele stron internetowych na serwerze sieci web IIS zarówno na różnych adresach IP, jak i na tym samym adresie IP i porcie TCP.
Podsumowanie: Hosting wielu witryn na jednym serwerze
Ten artykuł skupia się na podstawowych koncepcjach serwerów, pomagając Ci zrozumieć, jak hostować wiele stron na jednym serwerze. Oferujemy również wiele Linux VPS rozwiązań hostingowych, które możesz wykorzystać do uruchamiania różnych stron na jednym serwerze. Plany Cloudzy zmniejszają koszty posiadania wielu serwerów, ale pozwalamy Ci również maksymalnie wykorzystać nasze usługi. Ponadto możesz łatwo zwiększyć zasoby serwera, w tym RAM, pamięć masową, procesor i przepustowość.
Często zadawane pytania
Czy możesz mieć wiele witryn na jednym serwerze hostingu?
Jeśli masz duży serwer z rozległymi zasobami, takimi jak wystarczająca ilość miejsca HDD, RAM i moc CPU, możesz hostować wiele stron za pomocą wirtualnego hostingu. Możesz hostować nieograniczoną liczbę stron na swoim serwerze internetowym.
Jak możemy uruchomić dwie witryny na jednym serwerze?
Hosting wielu stron internetowych na jednym serwerze sieci web nazywa się wirtualnym serwerem. Upewnij się, że wybrany serwer ma wystarczające zasoby, aby obsługiwać ruch i wymagania dotyczące przestrzeni dyskowej.
Do czego służy serwer VPS?
VPS to usługa hostingowa, która zapewnia Ci dedykowane (prywatne) zasoby na serwerze. Warto zauważyć, że VPS jest bezpieczniejszym i bardziej stabilnym rozwiązaniem niż hosting współdzielony, który nie daje Ci dedykowanej przestrzeni na serwerze.
Dlaczego ludzie używają VPS?
Hosting VPS stał się popularnym wyborem, ponieważ jest generalnie tańszy niż hosting dedykowany, jednocześnie zapewniając lepszą niezawodność, bezpieczeństwo i wydajność niż hosting współdzielony.