Sett opp Nginx-serverblokker (virtuelle verter) på CentOS/RHEL 8
En Nginx-serverblokk tilsvarer en virtuell Apache-vert og gjør det mulig for deg å være vert for mer enn ett domene eller nettstedet på serveren din.
I denne artikkelen vil du lære hvordan du setter opp en Nginx-serverblokker (virtuelle verter) på CentOS 8 og RHEL 8 Linux.
Forutsetninger:
- En
A
-post for domenet ditt. Enkelt sagt refererer enA
-post til en DNS-oppføring der domenenavnet peker på den offentlige IP-en til serveren, i dette tilfellet Nginx-nettserveren. Gjennom denne veiledningen vil vi bruke domenenavnetcrazytechgeek.info
. - En Nginx Server eller LEMP Stack installert på CentOS 8 eller RHEL 8 forekomst.
- En påloggingsbruker med Sudo-privilegier.
La oss komme i gang!
Trinn 1: Opprett en Nginx-dokumentrotkatalog
Med en gang må du opprette en egendefinert webrotkatalog for domenet du vil være vert for. For vårt tilfelle vil vi opprette katalogen som vist ved å bruke mkdir -p
-alternativet for å lage alle nødvendige overordnede kataloger:
sudo mkdir -p /var/www/crazytechgeek.info/html
Deretter tilordner katalogtillatelsene ved hjelp av miljøvariabelen $USER
. Når du gjør det, sørg for at du er logget på som en vanlig bruker og ikke som root-bruker.
sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html
Deretter tildeler du de riktige katalogtillatelsene rekursivt som vist:
sudo chmod -R 755 /var/www/crazytechgeek.info/html
Trinn 2: Opprett en prøveside for domenet
Deretter skal vi lage en index.html
-fil i den tilpassede webrotkatalogen som vil bli servert av domenet når en forespørsel er gjort.
sudo vim /var/www/crazytechgeek.info/html/index.html
Inne i filen limer du inn følgende eksempelinnhold.
<html>
<head>
<title>Welcome to your_domain!</title>
</head>
<body>
<h1>Awesome! Your Nginx server block is working!</h1>
</body>
</html>
Lagre og avslutt konfigurasjonsfilen.
Trinn 3: Opprett en Nginx-serverblokk i CentOS
For at Nginx-nettserveren skal vise innholdet i index.html
-filen vi opprettet i trinn 2, må vi opprette en serverblokkfil med de riktige direktivene. Derfor skal vi opprette en ny serverblokk på:
sudo vim /etc/nginx/conf.d/crazytechgeek.info.conf
Deretter limer du inn konfigurasjonen som vises nedenfor.
server {
listen 80;
listen [::]:80;
root /var/www/crazytechgeek.info/html;
index index.html index.htm index.nginx-debian.html;
server_name crazytechgeek.info www.crazytechgeek.info;
location / {
try_files $uri $uri/ =404;
}
access_log /var/log/nginx/crazytechgeek.info.access.log;
error_log /var/log/nginx/crazytechgeek.info.error.log;
}
Når du er ferdig, lagre endringene og avslutt konfigurasjonsfilen. For å bekrefte at alle Nginx-konfigurasjoner er gode og feilfrie, kjør kommandoen:
sudo nginx -t
Utdataene nedenfor skal være en bekreftelse på at du er klar!
Til slutt, start Nginx-webserveren på nytt og bekreft at den kjører som forventet:
sudo systemctl restart nginx
sudo systemctl status nginx
Trinn 4: Testing av Nginx Server Block i CentOS
Vi er alle ferdige med konfigurasjonene. Den eneste delen som gjenstår er å bekrefte om serverblokken vår leverer innhold i webrotkatalogen definert tidligere i index.html
-filen.
For å gjøre dette, åpne nettleseren din og gå til serverens domene som vist:
http://domain-name
Som observert blir innholdet vårt servert av serverblokken, en klar indikasjon på at alt gikk bra.
Trinn 5: Aktiver HTTPS på domene vert på Nginx
Du kan vurdere å kryptere domenet ditt ved å bruke Lets Encrypt SSL for å legge til et lag med beskyttelse og sikker trafikk til og fra webserveren.
sudo dnf install certbot python3-certbot-nginx
sudo certbot --nginx
For å bekrefte at domenet ditt er riktig konfigurert på HTTPS, besøk https://yourwebsite.com/
i nettleseren og se etter låsikonet i URL-linjen.
Konklusjon
Vi har satt opp en Nginx-serverblokk på CentOS 8 og RHEL 8. Du kan gjenta det samme for flere domener ved å bruke samme prosedyre.