Hébergez plusieurs domaines sur un serveur ou une adresse IP avec Apache ou Nginx
Apprenons à configurer Apache et Nginx pour héberger plusieurs sites Web.
Hébergement de sites sur le Serveur cloud donne beaucoup de flexibilité par rapport à l'hébergement mutualisé. Vous pouvez installer quoiateselon vos besoins, augmentez ou réduisez votre système et configurez-le pour obtenir de meilleures performances et une optimisation des coûts.
Si vous gérez plusieurs sites professionnels mais que vous ne souhaitez pas les héberger séparémentately, vous pouvez profiter de Virtual Server
dans les serveurs Web. Jetons un coup d'œil à ce scénario.
J'ai les deux sites suivants que je voudrais pointer vers ma seule VM cloud.
- laboratoire.geekflare.com
- gf.dev
Avant la mise en œuvre, comprenons comment cela fonctionne.
Le concept d'avoir plusieurs sites Web sur une seule instance de serveur Web est appelé Virtual Server
. Il est défini dans le fichier de configuration avec l'URL. Lorsqu'une demande est faite à une URL définie, le serveur Web servirait le trafic de la Document Root
.
Configurer l'hôte virtuel dans Apache pour héberger plusieurs domaines
- Connectez-vous au serveur HTTP Apache
- Accédez à l'emplacement de configuration apache. (dans l'installation par défaut - vous le trouverez ici /etc/httpd/conf/httpd.conf)
- Faites une sauvegarde du fichier httpd.conf
- Create a
VirtualHost
conteneur comme ci-dessous, je l'ai fait pour deux domaines.
<VirtualHost *:80>
ServerAdmin mail@example.com
DocumentRoot /opt/htdocs/lab
ServerName lab.geekflare.com
ErrorLog logs/lab.geekflare.com-error_log
CustomLog logs/lab.geekflare.com-access_log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin mail@xyz.com
DocumentRoot /opt/htdocs/gf-dev
ServerName gf.dev
ErrorLog logs/gf.dev-error_log
CustomLog logs/gf.dev-access_log common
</VirtualHost>
Remarque: Changer la valeur de ServerAdmin, DocumentRoot, Nom du serveur, ErrorLog, CustomLog en fonction de vos besoins.
- Redémarrez Apache HTTP et testez les deux URL.
Configurer l'hôte virtuel dans Nginx pour héberger plusieurs domaines
- Connectez-vous au serveur Nginx
- Accédez à l'emplacement où vous avez installé Nginx. (dans l'emplacement par défaut - vous le trouverez ici / etc / nginx /)
Il existe plusieurs façons d'y parvenir. Soit vous pouvez modifier nginx.conf
fichier ou fichier personnalisé si vous en avez. Vous pouvez également créerate a custom.conf
sous le dossier conf.d. Choisissez ce qui fonctionne pour vous et effectuez une sauvegarde si vous modifiez un fichier existant.
- Create un bloc de serveur pour les deux URL, comme je l'ai montré ci-dessous.
server {
listen 80;
root /opt/htdocs/lab;
index index.html index.htm;
server_name lab.geekflare.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;
}
}
Remarque: Changer la valeur de racine, nom du serveur en fonction de vos besoins.
- Redémarrez Nginx et testez les deux URL
N'oubliez pas de mettre à jourate l'enregistrement DNS de votre URL à mapper à l'adresse IP du serveur. Une fois cela fait, vous devriez pouvoir accéder aux URL qui sont servies via la configuration ci-dessus que vous avez effectuée.
Conclusion
C'était le guide rapide pour héberger plusieurs domaines dans une seule instance de serveur Web comme Apache ou Nginx. Une fois votre site Web en ligne, n'oubliez pas de testez-le contre les vulnérabilités de sécurité.