Sådan oprettes Nginx-serverblokke (virtuelle værter) på CentOS 8


En Nginx-serverblok svarer til en virtuel Apache-vært og gør det muligt for dig at være vært for mere end et domæne eller websted på din server.

I denne artikel lærer du, hvordan du opretter en Nginx-serverblok (virtuelle værter) på CentOS 8 og RHEL 8 Linux.

  • En A -post for dit domæne. Enkelt sagt henviser en A -post til en DNS-post, hvor domænenavnet peges på serverens offentlige IP, i dette tilfælde Nginx-webserveren. I hele denne vejledning bruger vi domænenavnet crazytechgeek.info .
  • En Nginx-server eller LEMP-stak installeret i CentOS 8- eller RHEL 8-forekomst.
  • En loginbruger med Sudo-rettigheder.

Lad os komme igang!

Trin 1: Opret en Nginx Document Root Directory

Lige uden for flagermusen skal du oprette et brugerdefineret web-rodmappe til det domæne, du vil være vært for. For vores sag opretter vi biblioteket som vist ved hjælp af indstillingen mkdir -p til at oprette alle de nødvendige overordnede mapper:

$ sudo mkdir -p /var/www/crazytechgeek.info/html

Derefter tildeles katalogtilladelserne ved hjælp af $ USER miljøvariablen. Når du gør det, skal du sikre dig, at du er logget ind som en almindelig bruger og ikke rodbrugeren.

$ sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html

Dernæst tildel de rigtige katalogtilladelser rekursivt som vist:

$ sudo chmod -R 755 /var/www/crazytechgeek.info/html

Trin 2: Opret en eksempelside til domænet

Dernæst opretter vi en index.html -fil inde i det brugerdefinerede web-root-bibliotek, der vil blive serveret af domænet, når en anmodning er fremsat.

$ sudo vim /var/www/crazytechgeek.info/html/index.html

Indsæt følgende eksempelindhold i filen.

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
  <h1>Awesome! Your Nginx server block is working!</h1>
    </body>
</html>

Gem og afslut konfigurationsfilen.

Trin 3: Opret en Nginx-serverblok i CentOS

For at Nginx-webserveren skal tjene indholdet i index.html -filen, vi oprettede i trin 2, skal vi oprette en serverblokfil med de relevante direktiver. Derfor opretter vi en ny serverblok på:

$ sudo vim /etc/nginx/conf.d/crazytechgeek.info.conf

Indsæt derefter konfigurationen, der 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 færdig, skal du gemme ændringerne og afslutte konfigurationsfilen. For at bekræfte, at alle Nginx-konfigurationer er lyd- og fejlfri, skal du udføre kommandoen:

$ sudo nginx -t

Outputtet nedenfor skal være en bekræftelse på, at du er god at gå!

Til sidst skal du genstarte din Nginx-webserver og bekræfte, at den kører som forventet:

$ sudo systemctl restart nginx
$ sudo systemctl status Nginx

Trin 4: Test af Nginx-serverblokken i CentOS

Vi er alle færdige med konfigurationerne. Den eneste del, der er tilbage, er at bekræfte, om vores serverblok serverer indhold i web-rodmappen, der er defineret tidligere i filen index.html .

For at gøre dette skal du blot åbne din browser og gå til din servers domæne som vist:

http://domain-name

Som observeret serveres vores indhold af serverblokken, en klar indikation på, at alt gik godt.

Trin 5: Aktivér HTTPS på domæne hostet på Nginx

Du kan overveje at kryptere dit domæne ved hjælp af Lets Encrypt SSL for at tilføje et beskyttelseslag og sikker trafik til og fra webserveren.

$ sudo dnf install certbot python3-certbot-nginx
$ sudo certbot --nginx

For at bekræfte, at dit domæne er korrekt konfigureret på HTTPS, skal du besøge https://yourwebsite.com/ i din browser og kigge efter låsikonet i URL-linjen.

Vi har med succes oprettet en Nginx-serverblok på CentOS 8 og RHEL 8. Du kan gentage det samme for flere domæner ved hjælp af den samme procedure.