Android

Hoe nginx serverblokken in te stellen op ubuntu 18.04

How to Install and Configure Nginx from Source on Ubuntu 18.04

How to Install and Configure Nginx from Source on Ubuntu 18.04

Inhoudsopgave:

Anonim

Met Nginx Server Blocks kunt u meer dan één website op één machine uitvoeren. Met Serverblokken kunt u de hoofdmap van het sitedocument opgeven (de map met de websitebestanden), een afzonderlijk beveiligingsbeleid maken voor elke site, verschillende SSL-certificaten gebruiken voor elke site en nog veel meer.

In deze zelfstudie geven we stapsgewijze instructies voor het instellen van Nginx-serverblokken (vergelijkbaar met Apache Virtual Hosts) op Ubuntu 18.04.

voorwaarden

Zorg ervoor dat u aan de volgende voorwaarden hebt voldaan voordat u doorgaat met deze zelfstudie:

  • U hebt een domeinnaam die verwijst naar het IP-adres van uw openbare server. In deze zelfstudie zullen we example.com . Nginx is geïnstalleerd door deze instructies te volgen. U bent aangemeld als een gebruiker met sudo-rechten.
In sommige documentatie ziet u dat Server Blocks worden aangeduid als Virtual host . Een virtuele host is een Apache-term.

Maak de directorystructuur

Document root is de map waarin de websitebestanden voor een domeinnaam worden opgeslagen en geserveerd in reactie op verzoeken. We kunnen de documenthoofdmap instellen op elke gewenste locatie, maar in deze handleiding gebruiken we de volgende mapstructuur:

/var/www/ ├── domain1.com │ └── public_html ├── domain2.com │ └── public_html ├── domain3.com │ └── public_html

In principe zullen we een afzonderlijke map maken voor elk domein dat we op onze server willen hosten in de map /var/www . Binnen elk van deze mappen maken we een map public_html waarin de domeinwebsite-bestanden worden opgeslagen.

Laten we de root-directory maken voor ons domein example.com :

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

Voor testdoeleinden maken we een index.html bestand in de hoofdmap van het domein.

Open uw editor en maak het demo-bestand:

/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!

In deze handleiding voeren we de opdrachten uit als sudo-gebruiker en zijn de nieuw gemaakte bestanden en mappen eigendom van de rootgebruiker.

Om machtigingsproblemen te voorkomen, kunnen we het eigendom van de hoofddirectory van het domeindocument wijzigen in de Nginx-gebruiker ( www-data ):

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

Maak een serverblok

Standaard op Ubuntu-systemen worden configuratiebestanden van Nginx-serverblokken opgeslagen in de map /etc/nginx/sites-available , die worden ingeschakeld via symbolische koppelingen naar de map /etc/nginx/sites-enabled/ .

Open de gewenste editor en maak het volgende serverblokbestand:

/etc/nginx/sites-available/example.com

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; } }

U kunt het configuratiebestand een naam geven zoals u wilt, maar meestal kunt u het beste de domeinnaam gebruiken.

Om het nieuwe serverblokbestand in te schakelen, moeten we een symbolische koppeling maken van het bestand naar de map met sites-enabled , die tijdens het opstarten door Nginx wordt gelezen:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Test de Nginx-configuratie op juiste syntaxis:

sudo nginx -t

Als er geen fouten zijn, ziet de uitvoer er als volgt uit:

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

Start de Nginx-service opnieuw om de wijzigingen van kracht te laten worden:

sudo systemctl restart nginx

Als laatste om te controleren of het serverblok naar verwachting werkt, opent u http://example.com in uw gewenste browser en ziet u zoiets als dit:

Conclusie

U hebt geleerd hoe u een Nginx-serverblokconfiguratie maakt om meerdere domeinen op een enkele Ubuntu-server te hosten. U kunt de hierboven beschreven stappen herhalen en extra serverblokken maken voor al uw domeinen.

Beveilig Nginx met Let's Encrypt on Ubuntu 18.04

nginx ubuntu

Dit bericht maakt deel uit van de how-to-install-lemp-stack-on-ubuntu-18-04-serie.

Andere berichten in deze serie:

• Hoe Nginx op Ubuntu 18.04 te installeren • Hoe Nginx serverblokken op Ubuntu 18.04 in te stellen • Beveiligde Nginx met Let's Encrypt op Ubuntu 18.04 • Hoe MySQL op Ubuntu 18.04 te installeren • PHP op Ubuntu 18.04 te installeren