50% korting alle plannen, beperkte tijd. Beginnend om $2.48/mo
Nog 13 minuten
Web- en zakelijke apps

Meerdere websites hosten op één server (Apache en IIS)🌐

Lelie Carnell By Lelie Carnell 13 minuten lezen Bijgewerkt op 18 september 2023
Meerdere websites hosten op één server (Apache en IIS)🌐

Zodra u toegang heeft tot online hosting, wilt u waarschijnlijk weten hoe u meerdere websites op één server kunt hosten. Ook al lijkt dit misschien ingewikkeld, naarmate u meer over dit onderwerp te weten komt, zult u begrijpen dat u dit kunt doen met wat hulp van technische handleidingen.

Verschillende webservers kunnen u wereldwijd gratis, open-source en veelgebruikte services bieden. Voordat we echter uitleggen hoe we meerdere websites op één server kunnen hosten, moeten we weten wat een webserver is en hoe deze werkt.

Wat is een webserver?

Een webserver bewaart en levert inhoud zoals tekst, afbeeldingen, video en applicatiegegevens voor een website. Met andere woorden: klanten die deze inhoud opvragen, kunnen deze gebruiken met behulp van webservers. Een van de meest voorkomende clients is een webbrowserprogramma dat gegevens van uw website opvraagt ​​wanneer een gebruiker op een link klikt of een bestand downloadt.

Een webserver communiceert via de Hypertext-overdrachtprotocol (HTTP) met een webbrowser. De inhoud van de meeste webpagina's is gecodeerd in Hypertext Markup Language (HTML). Inhoud is statisch, zoals tekst en afbeeldingen, of dynamisch, zoals een lijst met items die een klant heeft gemarkeerd voor aankoop. De meeste webservers ondersteunen server-side-scripting talen om bedrijfslogica in de communicatie te coderen en dynamische inhoud te bieden. Normaal gesproken worden talen zoals Active Server Pages (ASP), JavaScript, PHP, Python en Ruby ondersteund.

Hoe werkt een webserver?

Webservers werken op basis van a client-server model. In deze standaardstructuur wordt de cliënt vraagt ​​een hulpbron of dienst aan bij de server.

Webservers doorlopen een paar stappen om de verzoeken van webclients te verwerken:

  1. Wanneer een gebruiker inhoud op de website wil laden, vraagt ​​de webbrowser om toegang (HTTP-verzoek) via internet.
  2. De webbrowser zoekt naar het IP-adres van de opgevraagde website. Het vertaalt de URL van de webpagina's met behulp van de Domeinnaamsysteem (DNS) of zoeken in de cache. Dit proces helpt u de webserver te lokaliseren; dat is waar de bestanden van de site worden gehost.
  3. Op dit punt ontvangt de webserver het HTTP-verzoek en verwerkt dit via zijn HTTP-server.
  4. Zodra de HTTP-server het verzoek accepteert, doorzoekt hij de serverbestanden om de relevante gegevens te verkrijgen.
  5. De webserver stuurt de sitebestanden terug naar de browser die een verzoek heeft verzonden. Daarna ziet de gebruiker de inhoud van de website.

Houd er echter rekening mee dat als de HTTP-server er niet in slaagt de gevraagde bestanden te vinden of te verwerken, u een foutmelding in de webbrowser te zien krijgt. Nu u bekend bent met de belangrijkste concepten van webservers, kunt u eenvoudig leren hoe u ook meerdere webservers op één server kunt hosten. 

Host meerdere websites op één server: Apache

Als u meer dan één site op een server wilt hosten, moet u de virtuele hostbestanden van Apache gebruiken om aan te geven welk van de domeinen moet worden gebruikt. Een van de methoden die wordt gebruikt voor het oplossen van siteverzoeken wordt aangeroepen Op naam gebaseerde virtuele hosts. Wanneer iemand naar uw site kijkt, gaat het verzoek naar de server en wordt bepaald welke sitebestanden moeten worden weergegeven op basis van de domeinnaam. Met deze techniek kunt u meerdere sites op één server met hetzelfde IP-adres hosten. In dit gidsartikel wordt uitgelegd hoe u uw virtuele hostbestand voor elk van uw domeinen kunt instellen. Voordat we naar meer details gaan, onthoud dat u moet inloggen als een root-account.

Lees ook:Linux versus Windows-hosting: welke is beter voor u?

Stap 1: Maak een directory voor elke site

Installeer eerst apache2 met behulp van deze opdracht

Voor op Debian gebaseerde systemen

apt install apache2 -y

Voor CentOS-basissysteem

yum install apache2 -y

U moet een map maken voor elke site die u gaat hosten (in de map /var/www). Overweeg domein.com en domein2.com voor uw domeinnamen.

mkdir -p /var/www/domain.com/public_html
mkdir -p /var/www/domain2.com/public_html

Stap 2: Stel mapmachtigingen in

chmod -R 755 /var/www

Stap 3: Een indexpagina opzetten

Om een ​​startpagina te zien, moet u ervoor zorgen dat de index.html Voor elk domein wordt een bestand aangemaakt. Je kunt iets simpels instellen, zoals testen voor domein.com in dit bestand.

vim /var/www/domain.com/public_html/index.html

testen voor domein.com

Nu moet u opslaan en stoppen met gebruiken Ontsnappen knop en typen: wq

U kunt de onderstaande opdracht gebruiken om al deze stappen voor uw tweede domein te herhalen.

vim /var/www/domain2.com/public_html/index.html

Stap 4: Het configuratiebestand voor elke site kopiëren

U moet het standaardconfiguratiebestand voor elke site kopiëren, zodat u altijd over een standaardkopie beschikt voor het maken van toekomstige sites.

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

Stap 5: Het configuratiebestand voor elke site bewerken

Je zult in ieder geval de gemarkeerde regels binnen het <VirtueleHost *:80> En </VirtualHost>-tags.

Merk dat op ServerAlias is de alternatieve naam voor uw domein; in dit geval en in de meeste gevallen plaatst u www voor de domeinnaam, zodat anderen de site kunnen zien via www of niet-www (Servernaam).

vim /etc/apache2/sites-available/domain.com.conf

Site-informatie
Site-informatie

Opnieuw afsluiten en opslaan met behulp van wq. U moet dit proces herhalen voor uw domain2.com.conf bestand; Zorg ervoor dat u de update bijwerkt Servernaam, ServerAlias, En DocumentRoot voor uw tweede domein.

Lees ook:Apache versus NGINX

 Stap 6: Schakel uw configuratiebestand in

Uw server is standaard ingesteld om het bestand 000-default.conf te lezen. Maar in de vorige stap hebben we voor elk domein een nieuw configuratiebestand gemaakt. We zullen dus het standaardbestand moeten uitschakelen en een bestand moeten gebruiken dat geschikt is voor het nieuwe configuratiebestand.

a2dissite 000-default.conf

U kunt uw server aan uw domeinen laten toewijzen door elk van uw nieuw gemaakte .conf-bestanden in te schakelen.

a2ensite domain.com.conf
a2ensite domain2.com.conf

Laten we nu Apache opnieuw opstarten om de aangebrachte wijzigingen te registreren.

systemctl restart apache2

Stap 7: Apache-configuraties verifiëren

Nadat u Apache hebt gestart, kunt u zien dat de configuraties werken door uw /etc/host-bestand op uw computer of de DNS van uw domein.

Nadat elk aspect is ingesteld, kunt u uw website in een browser bezoeken om de index.html-pagina's te bekijken die u in stap 3 hebt gemaakt.

Lees ook: Lokaal versus in de cloud

Host meerdere websites op één server: IIS

Voor tientallen of zelfs honderden websites kunnen wij een IIS (Internet Information Services) webserver inzetten. U kunt er meerdere websites op hosten en tegelijkertijd luisteren en reageren TCP-poort. Maar de interface van IIS Manager laat wel zien dat u een andere website kunt hosten zonder deze aan een andere poort zoals 8080 te binden. In dit gedeelte wordt uitgelegd hoe u meerdere websites op dezelfde IIS-server kunt hosten en deze aan dezelfde poort en IP-adres of zelfs aan verschillende IP-adressen kunt binden.

Hoe installeer ik IIS op een Windows-server?

Wanneer u IIS op Windows installeert, wordt er een lege standaardwebsite gemaakt die luistert naar de standaard web-HTTP-poort – TCP 80. Technisch gezien is onze site gebonden aan de poort TCP/80. We moeten de naam van de IIS-server (“http://web-srv1”) of het IP-adres (“http://192.168.1.100”) in uw browser invoeren, zodat we deze site kunnen openen.

Stap 1: IIS-website binden 

Een web-IIS-server die op Windows Server draait, kan u helpen bij het hosten van meerdere websites. Maar IIS distribueert HTTP-verzoeken alleen correct als elke website moet worden geïdentificeerd met een unieke waarde. De IIS-website bevat drie kenmerken die voor elke website een unieke combinatie vormen. Deze kenmerken worden hier vermeld:

  • een TCP-poortnummer
  • een IP-adres
  • een hostheader (hostnaam)

De informatie over de gehoste websites wordt opgeslagen in de Serverbindingen attribuut van de IIS-metabase en het formaat ervan is als volgt: IP:Poort:Hostnaam. Als u dus meerdere websites op één server wilt hosten (dezelfde poort en hetzelfde IP-adres), moet u een unieke Host-header.

Je vraagt ​​je misschien af: wat is een host-header? Een hostheader is een onderdeel van een HTTP-verzoek aan de server dat specificeert aan welke website het is geadresseerd. Daarom moeten we deze hostheader aan de webserverzijde vermelden. Houd er rekening mee dat de DNS de juiste record heeft die overeenkomt met de hostnaam en het IP-adres van de IIS-webserver.

Laten we nu aannemen dat u een website heeft die op de IIS-server draait en luistert op poort 80. Wat moet u doen als we de tweede website op dezelfde poort willen binden?

Stap 2: Binden van de tweede IIS-website

In de Internet Information Service (IIS) Manager moet u een andere website maken met behulp van het venster Website toevoegen en deze TestSite noemen; Deze website bevindt zich in C:\inetpub\TestSite. Let erop dat u de hostnaam nog niet opgeeft.

Na het kopiëren van de inhoud van de site in C:\inetpub\TestSite opent Internet Information Service (IIS) Manager en voegt in de hostnaam van de server een site toe om de wizard voor u te openen.

hostwebsites.png

add-nieuwe-site-iis
Websitevenster toevoegen

 

Nadat u op Ok hebt geklikt, ziet u een waarschuwingsbericht waarin staat dat u het niet kunt gebruiken bindend *:80 voor beide websites.

website toevoegen

de-binding-80-is-toegewezen-aan-een andere-site
Controleer binding

Nadat u akkoord gaat met deze waarschuwing, is een andere site gebonden aan poort 80. U kunt deze dus niet starten zonder de eerste website te stoppen. U kunt dit beter begrijpen door op de volgende afbeelding te letten.

4 Verschillende bindingspoorten toewijzen aan websites
Verschillende bindingspoorten toewijzen aan websites

windows-origineel-vps Windows VPS-hosting

Bekijk onze betaalbare Windows VPS-abonnementen, met krachtige hardware, minimale latentie en een gratis Windows naar keuze!

Claim uw gratis Windows

Hosting van meerdere websites op IIS-server via hostheaders

U moet een andere naam (Hostnaam) kiezen voor de tweede IIS-website om een ​​unieke binding te maken. Om dit te doen, klikt u met de rechtermuisknop TestSite en selecteer Bewerking Bindingen. Selecteer de gewenste binding en klik Bewerking.

Zoals u in de volgende afbeelding kunt zien, moeten we de unieke hostnaam opgeven die de gebruiker adresseert. In deze tutorial gebruiken we TestSite; dus laten we het in het veld Hostnaam plaatsen.

test-iis-site-binding
Venster Sitebinding bewerken

U kunt de opdrachtprompt gebruiken om de IIS-sitebinding te configureren. Als u IIS 7 of nieuwer gebruikt, ziet u zoiets als dit nadat u de opdracht hebt uitgevoerd om de IIS Site-binding te configureren:

C:\Windows\System32\inetsrv\appcmd.exe set site /site.name:testsite /+bindings.[protocol='http',bindingInformation='*:80:testsite']

Net als bij de eerste website kunt u ook de tweede starten.

start-iis-site
Beheer websites

Op dit punt moet u een DNS-alias voor de server toevoegen (A of CNAME), verwijzend naar het IP-adres of de hostnaam van uw IIS-webserver. Als u een Active Directory-domein gebruikt, moet u DNS-records maken op de domeincontroller. Met IIS kunt u een CNAME record voor de naam TestSite in de DNS-console (dnsmgmt.msc) en stel de domeinnaam van uw IIS-server in als FQDN-doelhost.

het aanmaken van een CNAME-record voor de naam TestSite in de DNS-console
het aanmaken van een CNAME-record voor de naam TestSite in de DNS-console

U kunt dit DNS-record ook aanmaken via PowerShell en het volgende commando:

Add-DnsServerResourceRecordCName -HostNameAlias web-srv1.woshub.com -Name testsite -ZoneName woshub.com

Laten we proberen te openen http://TestSite in de browser. Als alles correct is gedaan, zou het met succes moeten worden geopend.

meerdere-iis-sites-op-dezelfde-80-http-poort
Eindresultaat van de testsite

 

Linux-vps Linux-hosting vereenvoudigd

Wilt u een betere manier om uw websites en webapps te hosten? Iets nieuws ontwikkelen? Houd je gewoon niet van Windows? Daarom hebben we Linux VPS.

Koop uw Linux VPS

Meerdere sites met verschillende IP-adressen uitvoeren op IIS Server

Laten we het nu hebben over het runnen van twee sites op de IIS-webserver met verschillende IP-adressen. Eerst moet u een aparte VLAN-interface op Windows Server toevoegen of een extra IP-adres (alias) aan de NIC toewijzen.

In deze zelfstudie heeft de server het primaire IP-adres 192.168.13.100 en voegen we IP-alias 192.168.13.101 toe aan dezelfde netwerkadapter:

Get-NetIPAddress | ft IPAddress, InterfaceAlias, SkipAsSource
New-NetIPAddress –IPAddress 192.168.13.101 –PrefixLength 24 –InterfaceAlias “Ethernet” –SkipAsSource $True

Nu moet u een A-record maken voor uw nieuwe site op de DNS-server:

Add-DnsServerResourceRecordA -Name NewSite3 -IPv4Address 192.168.13.101 -ZoneName woshub.com -TimeToLive 01:00:00 –CreatePtr

Het blijft nodig om de Site Binding-instellingen te openen, waardoor de site aan het extra IP-adres van uw host wordt gebonden. U kunt de binding van sites op een IIS-server afhandelen met behulp van PowerShell. Om dit te laten werken wordt de module WebAdministratie gebruikt:

Import-Module WebAdministration

U kunt afspeelinformatie bekijken over alle beschikbare IIS-sites en hun bindingen:

Get-IISSite

Of gewoon een enkele site:

(Get-Website -Name NewSite).bindings.Collection

bindingen. Collectie

Gebruik de volgende opdracht om de binding van deze site te wijzigen; merk op dat u hiermee de IP-adressen, poort of naam kunt wijzigen:

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'

U kunt deze opdracht uitvoeren om een ​​nieuwe binding aan de specifieke IIS-site toe te voegen:

New-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:" -Protocol http

Het verwijderen van een binding doe je met het volgende commando:

Remove-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:"

Zoals u hier heeft gezien, kunt u dus meerdere websites op de IIS-webserver draaien, zowel op verschillende IP-adressen als op hetzelfde IP-adres en hetzelfde TCP-poortnummer.

Laatste gedachte: meerdere websites hosten op één server

 Dit artikel concentreerde zich voornamelijk op de primaire concepten van servers, zodat u leert hoe u meerdere websites op één server kunt hosten. Wij leveren ook meerdere Linux-VPS hostingoplossingen, waarmee u verschillende websites op één server kunt laten draaien. De abonnementen van Cloudzy verlagen de kosten van het hebben van meerdere servers, maar we stellen u ook in staat onze diensten in uw voordeel te gebruiken. Bovendien kunt u eenvoudig de bronnen van uw server upgraden, inclusief RAM, opslag, processor en bandbreedte.

Veelgestelde vragen

 

Kunt u meerdere websites op één webserver hosten?

Als je een grote server hebt met uitgebreide bronnen, zoals voldoende HDD-ruimte, RAM en CPU-kracht, kun je meerdere websites hosten met behulp van virtuele hosting. U kunt een onbeperkt aantal websites op uw webserver hosten.

Hoe kunnen we twee websites op één server draaien?

Het hosten van meerdere websites op één webserver wordt Virtual Server genoemd. Bovendien moet u ervoor zorgen dat de door u geselecteerde server voldoende bronnen heeft om te kunnen omgaan met de vereisten voor verkeer en schijfruimte.

Waar wordt een VPS-server voor gebruikt?

VPS is een hostingdienst die u kan voorzien van dedicated (privé) bronnen op een server. Houd er rekening mee dat het gebruik van VPS een veiligere en stabielere oplossing is dan gedeelde hosting waarbij u geen speciale serverruimte krijgt.

Waarom gebruiken mensen VPS?

VPS-hosting is een wijdverspreide keuze geworden omdat het over het algemeen goedkoper is dan dedicated hosting en tegelijkertijd betere betrouwbaarheid, beveiliging en prestaties biedt dan gedeelde hosting.

Deel

Meer van de blog

Blijf lezen.

Odoo recensie-functieafbeelding met grote koptekst aan de linkerkant en het Odoo-logo aan de rechterkant, omgeven door zwevende app-interfacepanelen op een zachtpaarse achtergrond met wolkenthema.
Web- en zakelijke apps

Een uitgebreide Odoo-recensie: is Odoo de juiste ERP voor uw bedrijf

Odoo is een van de meest overwogen ERP-platforms voor groeiende bedrijven, vanwege één simpele reden: het belooft veel op één plek. Verkoop, boekhouding, inventaris

Jim SchwarzJim Schwarz 11 minuten lezen
Open-source WordPress-alternatieven bevatten een afbeelding met een kleurrijke achtergrond met kleurverloop, desktopmonitor, code-editor, wazig dashboardvoorbeeld en grote koptekst aan de linkerkant.
Web- en zakelijke apps

Beste open-source WordPress-alternatieven op maat gemaakt voor ontwikkelaars

WordPress doet er nog steeds toe, en het bedient nog steeds een groot aantal sites goed. De plug-in-directory bevat meer dan 62.000 plug-ins en de thema-directory biedt meer dan 14.000 gratis thema's. Tha

Jim SchwarzJim Schwarz 14 minuten lezen
Automad versus WordPress-functieafbeelding met beide platformlogo's en een kop waarin wordt gevraagd welke CMS-ontwikkelaars moeten kiezen.
Web- en zakelijke apps

Automad versus WordPress: een grondige vergelijking tussen twee van de beste CMS-platforms

Automad en WordPress lossen dezelfde klus op twee heel verschillende manieren op. Automad is een CMS- en sjabloonengine met platte bestanden, dus inhoud leeft in bestanden in plaats van in een database, maar WordPress,

Jim SchwarzJim Schwarz 9 minuten lezen

Klaar om te implementeren? Vanaf $ 2,48/maand.

Onafhankelijke cloud, sinds 2008. AMD EPYC, NVMe, 40 Gbps. 14 dagen geld-terug-garantie.