Android

Hur man ställer in nginx-serverblock på centos 7

Настройка виртуальных хостов nginx

Настройка виртуальных хостов nginx

Innehållsförteckning:

Anonim

Med Nginx Server Blocks kan du köra mer än en webbplats på en enda maskin. Detta är oerhört användbart, eftersom du för varje webbplats kan ange platsdokumentroten (katalogen som innehåller webbplatsfilerna), skapa en separat säkerhetspolicy, använda olika SSL-certifikat och mycket mer.

I den här tutorialen förklarar vi hur du ställer in Nginx-serverblock på CentOS 7.

förutsättningar

Se till att du har uppfyllt följande förutsättningar innan du fortsätter med denna handledning:

  • Har ett domännamn som pekar på din offentliga server-IP. I den här tutorialen kommer vi att använda exempel.com. Har Nginx installerat på ditt CentOS-system. Inloggad som användare med sudo-privilegier.
I en del dokumentation ser du Server Blocks kallas Virtual host . En virtuell värd är en Apache-term.

Skapa katalogstrukturen

Dokumentrot är katalogen där webbplatsfilerna för ett domännamn lagras och serveras som svar på förfrågningar. Vi kan ställa in dokumentroten till vilken plats vi vill, men i den här guiden kommer vi att använda följande katalogstruktur:

/var/www/ ├── example.com │ └── public_html ├── example2.com │ └── public_html ├── example3.com │ └── public_html

I grund och botten skapar vi en separat katalog för varje domän som vi vill vara värd på vår server i /var/www katalogen. Inom den här katalogen skapar vi en public_html katalog som kommer att vara rotkatalogen för domändokumentet och lagra domänens webbplatsfiler.

Låt oss börja med att skapa rotkatalogen för vårt example.com :

sudo mkdir -p /var/www/example.com/public_html

För teständamål kommer vi att skapa en index.html fil i domänens dokumentrotkatalog.

Öppna din textredigerare och skapa demo- index.html filen:

sudo nano /var/www/example.com/public_html/index.html

Kopiera och klistra in följande kod i filen:

/var/www/example.com/public_html/index.html

<code> Welcome to example.com Success! example.com home page! </code>

Welcome to example.com Success! example.com home page!

I den här guiden kör vi kommandona som sudo-användare och de nyligen skapade filer och kataloger ägs av rotanvändaren.

För att undvika behörighetsproblem kan vi ändra ägandet av rotkatalogen för nginx till Nginx-användaren ( nginx ):

sudo chown -R nginx: /var/www/example.com

Skapa ett serverblock

Konfigurationsfiler för Nginx- .conf måste sluta med .conf och lagras i /etc/nginx/conf.d .

Öppna din redigerare som du väljer och skapa en serverblockkonfigurationsfil för example.com .

sudo nano /etc/nginx/conf.d/example.com.conf Du kan namnge konfigurationsfilen som du vill men vanligtvis är det bäst att använda domännamnet.

Kopiera och klistra in följande kod i filen:

/etc/nginx/conf.d/example.com.conf

server { listen 80; listen:80; root /var/www/example.com/public_html; index index.html; server_name example.com www.example.com; access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; location / { try_files $uri $uri/ =404; } }

Spara filen och testa Nginx-konfigurationen för korrekt syntax:

sudo nginx -t

Om det inte finns några fel kommer utdata att se ut så här:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

Starta om Nginx-tjänsten så att ändringarna träder i kraft:

sudo systemctl restart nginx

Slutligen för att verifiera att serverblocket fungerar som förväntat, öppna http://example.com i din webbläsare som du väljer, så ser du något liknande:

Slutsats

Du har lärt dig hur du skapar en Nginx-serverblockkonfiguration för att vara värd för flera domäner på en enda CentOS-server. Du kan upprepa stegen som beskrivs ovan och skapa ytterligare serverblock för alla dina domäner.

Säkra Nginx med Let's Encrypt på CentOS 7

nginx centos

Det här inlägget är en del av serien install-lemp-stack-on-centos-7.

Andra inlägg i denna serie:

• Hur man installerar Nginx på CentOS 7 • Säkra Nginx med Let's Encrypt på CentOS 7 • Installera MariaDB på CentOS 7 • Installera PHP 7 på CentOS 7 • Hur man installerar Nginx-serverblock på CentOS 7