50% zniżki wszystkie plany, oferta czasowa. Od $2.48/mo
13 minut pozostało
Aplikacje webowe i biznesowe

Hostowanie wielu stron na jednym serwerze (Apache i IIS) 🌐

Lilia Carnell By Lilia Carnell Czytanie w 13 minut Zaktualizowano 18 września 2023
Hostowanie wielu stron na jednym serwerze (Apache i IIS) 🌐

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:

  1. Gdy użytkownik chce załadować zawartość na stronę internetową, przeglądarka internetowa żąda dostępu (żądanie HTTP) przez Internet.
  2. 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.
  3. W tym momencie serwer WWW otrzymuje żądanie HTTP i przetwarza je poprzez Serwer HTTP.
  4. Gdy serwer HTTP zaakceptuje żądanie, przeszuka pliki serwera, aby uzyskać odpowiednie dane.
  5. 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

Informacje o stronie
Informacje o stronie

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.

hostwebsites.png

dodaj-nową-witrynę-iis
Okno Dodaj witrynę

 

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

dodaj stronę internetową

Powiązanie portu 80 jest przypisane do innej witryny
Sprawdź powiązanie

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.

4 Przypisywanie różnych portów powiązania do witryn
Przypisywanie różnych portów powiązania do witryn

windows-original-vps Hosting Windows VPS

Sprawdź nasze przystępne plany Windows VPS z wydajnym sprzętem, niskimi opóźnieniami i darmowym Windows do wyboru!

Odbierz darmowy Windows

Hosting 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.

test-iis-site-binding
Okno edycji wiązania witryny

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ą.

start-iis-site
Zarządzaj stronami internetowymi

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.

utworzenie rekordu CNAME dla nazwy TestSite w konsoli DNS
utworzenie rekordu CNAME dla nazwy TestSite w konsoli DNS

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.

wiele-witryn-iis-na-tym-samym-porcie-80-http
Ostateczny rezultat testsite

 

linux-vps 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 VPS

Uruchamianie 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

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.

Udostępnij

Więcej z bloga

Czytaj dalej.

Grafika wprowadzająca do recenzji Odoo z dużym nagłówkiem po lewej stronie i logo Odoo po prawej, otoczona unoszącymi się panelami interfejsu aplikacji na miękkim fioletowym tle z motywem chmury.
Aplikacje webowe i biznesowe

Szczegółowa recenzja Odoo: czy Odoo to właściwy system ERP dla Twojej firmy?

Odoo to jedna z najczęściej wybieranych platform ERP dla rozwijających się firm, i to z prostego powodu: obiecuje kompleksowe rozwiązanie w jednym miejscu. Sprzedaż, księgowość, magazyn

Jim SchwarzJim Schwarz 11 minut czytania
Grafika wprowadzająca do artykułu o alternatywach WordPress open-source z kolorowym gradientowym tłem, monitorem, edytorem kodu, rozmytym podglądem dashboardu i dużym nagłówkiem po lewej stronie.
Aplikacje webowe i biznesowe

Najlepsze alternatywy WordPress open-source dla programistów

WordPress wciąż ma znaczenie i sprawdza się doskonale w przypadku szerokiego spektrum witryn. Jego katalog wtyczek zawiera ponad 62 000 pozycji, a katalog motywów oferuje ponad 14 000 darmowych szablonów. Tha

Jim SchwarzJim Schwarz 14 minut czytania
Grafika wprowadzająca do porównania Automad i WordPress z logotypami obu platform i nagłówkiem pytającym, który CMS wybrać.
Aplikacje webowe i biznesowe

Automad vs. WordPress: szczegółowe porównanie dwóch czołowych platform CMS

Automad i WordPress realizują to samo zadanie na dwa zupełnie różne sposoby. Automad to flat-file CMS z silnikiem szablonów, więc treść przechowywana jest w plikach zamiast w bazie danych, natomiast WordPress,

Jim SchwarzJim Schwarz 9 minut czytania

Gotowy do wdrożenia? Od 2,48 USD/miesiąc.

Niezależna chmura od 2008 roku. AMD EPYC, NVMe, 40 Gbps. Zwrot pieniędzy w ciągu 14 dni.