Nginx

Hoe meerdere domeinen op een Nginx-server te installeren

Hoe meerdere domeinen op een Nginx-server te installeren
Tegenwoordig gebruiken veel webmasters meerdere domeinnamen op dezelfde server, omdat dit de kosten en de complexiteit bij het afhandelen van veel websites vermindert. Als webserver gebruikt deze handleiding Nginx vanwege de hoge prestaties, flexibiliteit en eenvoudig te configureren. Deze gids leert u hoe u meerdere domeinnamen op dezelfde Nginx-webserver kunt installeren en het verkeer naar beide domeinen gratis kunt versleutelen.

Nginx installeren

Ubuntu wordt standaard niet geleverd met Nginx. Daarom moet het handmatig worden geïnstalleerd met de volgende opdrachten:.

sudo apt-get update
sudo apt-get install Nginx

De eerste opdracht werkt de lokale repository-informatie bij, terwijl de tweede opdracht de Nginx in het systeem installeert.

Configureer de firewall

Het configureren van de firewall is afhankelijk van de firewallsoftware die in het systeem is geïnstalleerd. Aangezien er verschillende firewalls op de markt zijn, is het niet eenvoudig om ze te leren hoe ze te configureren. Deze handleiding laat dus alleen zien hoe u de standaard ingebouwde firewall- UFW, oftewel ongecompliceerde firewall, kunt configureren. Andere firewalls zouden een vergelijkbare configuratie moeten hebben als deze.

sudo ufw app-lijst
sudo ufw staat 'Nginx HTTPS' toe
sudo ufw inschakelen

De eerste opdracht geeft de beschikbare profielen weer die in de firewall kunnen worden gebruikt. De tweede opdracht gebruikt het Nginx HTTPS-profiel in de lijst met toestaan ​​(ook bekend als Whitelist) van de firewall, en de derde opdracht schakelt de firewall in. Deze handleiding laat later zien hoe u HTTPS gebruikt. HTTPS is tegenwoordig noodzakelijk omdat het de gegevensverbinding tussen de client en de server beveiligt. Browsers zoals Chrome zullen in de toekomst automatisch de HTTPS-versie van elke site gebruiken; daarom is het vereist dat SSL is ingeschakeld voor elke website, vooral wanneer de eigenaar van de website van plan is zijn SEO-score en de beveiliging te verbeteren.

Bestandssysteem configureren

Hoewel Nginx ondersteuning biedt voor het aanbieden van inhoud via meerdere domeinnamen, is het standaard geconfigureerd om inhoud via één domein te leveren. Het standaardpad is Nginx is /var/www/html. Meerdere domeinen vereisen meerdere mappen. De volgende instructies laten zien hoe u meerdere mappen kunt maken om inhoud via meerdere domeinen aan te bieden.

  1. Maak een map voor elk domein met de volgende opdrachten:. De p-vlag is nodig om bovenliggende mappen te maken, wat betekent dat wanneer de www of een andere map in het adres niet bestaat, het de hele rij mappen met de p-vlag maakt.
  2. sudo mkdir -p /var/www/nucuta.com/html
    sudo mkdir -p /var/www/nucuta.net/html.
  3. Eigendom toewijzen aan de mappen. Dit zorgt ervoor dat de gebruiker volledige controle heeft over de mappen. Hier wordt de gebruiker echter overgenomen van de momenteel ingelogde gebruiker en daarom is het belangrijk om in te loggen op het gebruikersaccount dat aan de directory wordt toegewezen. Het eerste segment van $USER is voor de gebruiker en het tweede segment is voor de groep waartoe de gebruiker behoort.
  4. sudo chown -R $USER:$USER /var/www/nucuta.com/html
    sudo chown -R $USER:$USER /var/www/nucuta.net/html
  5. Wijzig de toestemming van de mappen met de volgende opdrachten:. Er zijn 3 entiteiten en 3 machtigingen in Linux-bestandssystemen. In het volgende voorbeeld is het eerste cijfer voor een gebruiker, het tweede cijfer voor de groep en het laatste cijfer voor iedereen (ook bekend als openbaar). De leesmachtiging heeft de waarde 4, de schrijfmachtiging heeft de waarde 2 en de uitvoermachtiging heeft de waarde 1. Deze getallen kunnen bij elkaar worden opgeteld om de toestemming van een entiteit te wijzigen, bijvoorbeeld 755 betekent, GEBRUIKER heeft de toestemming om te LEZEN, SCHRIJVEN en UIT TE VOEREN (4+2+1 = 7), GROEP heeft de toestemming om te LEZEN en UIT TE VOEREN (4+1 = 5), ALL heeft de toestemming om hetzelfde te doen. De toestemming wordt toegepast op bestanden en mappen, beide met verschillende regels. De regels staan ​​vermeld in de volgende tabel:.
  6. sudo chmod -R 755 /var/www/nucuta.com/html
    sudo chmod -R 755 /var/www/nucuta.net/html
  7. Nadat de toestemming is toegewezen, maakt u een standaardpagina voor elk domein in de webbrowser wanneer het naakte domein wordt aangeroepen. Naakt domein betekent het domein zonder subdomeinen, bijvoorbeeld nucuta.com.
  8. nano /var/www/nucuta.com/html/index.html.
    nano /var/www/nucuta.net/html/index.html.
  9. Voeg de volgende standaardcode toe aan elk indexbestand en sla op als index.html in de respectievelijke map (zoals hierboven te zien).


Welkom op Site One


Succes!



Nginx configureren

Het configureren van de Nginx is niet zo moeilijk omdat Nginx standaard meerdere domeinen ondersteunt. Hoewel het mogelijk is om configuratie-informatie van meerdere domeinen in hetzelfde bestand te gebruiken, is het raadzaam om meerdere bestanden te gebruiken voor de configuratie-informatie van elk domein. Het standaardconfiguratiebestand heet "default" en bevindt zich in /etc/nginx/sites-available/default

  1. Navigeer naar /etc/nginx/sites-available/default en verwijder alle configuratie-informatie. Gebruik een teksteditor zoals nano of kladblok++
  2. nano /etc/nginx/sites-available/default
  3. Kopieer en plak de volgende configuratie en sla deze op.
  4. server
    luister 80 default_server;
    luister [::]:80 standaard_server;
    root /var/www/html;
    indexindex.html-index.htm-index.nginx-debian.html;
    server naam _;
    plaats /
    try_files $uri $uri/ =404;

  5. Kopieer de configuratie-informatie in het standaardbestand naar een domeinspecifiek configuratiebestand met de volgende opdracht:.
  6. sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/nucuta.com
  7. Herhaal de bovengenoemde stap ook naar het andere domein met het volgende commando:.
  8. sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/nucuta.netto-
  9. Open beide bestanden met een teksteditor zoals nano (nano ), en wijzig de waarde van de servernaam-instructie als volgt:.
  10. In /etc/nginx/sites-available/nucuta.com-bestand
    servernaam nucuta.com
    In /etc/nginx/sites-available/nucuta.net bestand
    servernaam nucuta.netto-
  11. Nadat beide bestanden zijn geconfigureerd, kopieert u ze naar de volgende mappen om de configuratiebestanden te activeren:. Het creëert een symbolische link tussen het eigenlijke bestand en de directory; vandaar dat in de toekomst alleen de bestanden in een site-beschikbare map moeten worden gewijzigd om wijzigingen aan te brengen in zowel site-beschikbare als site-enabled mappen.
  12. sudo ln -s /etc/nginx/sites-available/nucuta.com /etc/nginx/sites-enabled/
    sudo ln -s /etc/nginx/sites-available/nucuta.net /etc/nginx/sites-enabled/
  13. Doorloop de configuratiebestanden, breng nog meer wijzigingen aan en gebruik de volgende opdrachten om de wijzigingen effectief te maken:. De eerste opdracht zorgt ervoor dat de configuratiebestanden vrij zijn van ongeldige configuratie-informatie, en de tweede opdracht zorgt ervoor dat de server correct opnieuw wordt geladen of opnieuw wordt opgestart om de wijzigingen effectief te maken. Gebruik opdrachten voor herladen of herstarten. Herladen heeft de voorkeur, maar herstarten kan worden gebruikt als herladen niet is gelukt.
  14. systemctl config nginx
    systemctl herlaad nginx of systemctl herstart nginx.

Configureer de DNS-records

Het configureren van de DNS-instellingen is afhankelijk van de DNS-provider. Alle DNS-providers hebben echter een vergelijkbare interface. Standaard geeft de domeinregistrar toegang tot de DNS-records. Deze fase vereist het IP-adres van de server waarop de nginx-webserver wordt gehost. Het verkrijgen van het IP-adres hangt volledig af van het platform. Platforms zoals Linode, DigitalOcean, Vultr geven het IP-adres weer in het dashboard. Als het moeilijk te vinden is, neem dan contact op met de ondersteuning van de betreffende serviceprovider.

  1. Voeg in de DNS-instellingen een “A”-record toe en gebruik het IP-adres van de server als waarde, domeinnaam als de gastheer. Zorg ervoor dat de domeinnaam die hier wordt gebruikt hetzelfde is als de domeinnaam die wordt gebruikt in het Nginx-configuratiebestand. Herhaal dit na het configureren van het ene domein ook voor het andere domein.
  2. Laat de DNS-records worden bijgewerkt. Het duurt meestal maximaal 24 uur, maar meestal is het binnen een paar minuten klaar.

HTTPS inschakelen

HTTPS inschakelen is vrij eenvoudig en kan gratis worden gedaan met letsencrypt. Letsencrypt is een open-source certificeringsinstantie die gratis SSL-certificaten vrijgeeft aan webmasters om het verkeer naar hun website te versleutelen.

  1. Installeer snap-in het besturingssysteem met de volgende opdracht:. Merk op dat dit segment een snap-daemon zal gebruiken om alle vereiste pakketten te installeren in plaats van apt of apt-get. Snap is alternatief pakketbeheer en een implementatietool die kan worden gebruikt om pakketten in Ubuntu en vele andere Linux-besturingssystemen te installeren. Dit is niet vereist om te installeren als u Ubuntu 16 . hebt.04 LTS of een andere hogere versie. Voer echter nog steeds de laatste opdracht uit om ervoor te zorgen dat de module up-to-date is.
  2. sudo apt update
    sudo apt install snapd
    sudo snap kern installeren; sudo snap ververs kern
  3. Installeer de certbot die de SSL-certificaten voor beide domeinen configureert en vernieuwt. Zonder certbot moeten SSL-certificaten handmatig worden geïnstalleerd. Bovendien moet het vernieuwen ook handmatig gebeuren. Dit kan een probleem zijn, aangezien letsencrypt-certificaten 3 maanden later verlopen. Daarom moet het SSL-certificaat eenmaal per 3 maanden worden vernieuwd om ervoor te zorgen dat de site naar behoren kan functioneren zoals verwacht. Gebruik de volgende opdracht om de certbot gemakkelijk te installeren:.
  4. sudo snap install --classic certbot
  5. Certbot is geïnstalleerd in de map /snap/bin/certbot. Om het uitvoerbare bestand van certbot via de opdrachtregel uit te voeren zonder het volledige pad op te geven, voert u de volgende opdracht uit:. Het creëert een symbolische link tussen de snap/bin/certbot en de /usr/bin/certbot directory, waardoor het uitvoerbare bestand van certbot kan worden uitgevoerd op de opdrachtregelinterface zonder het volledige pad op te geven.
  6. sudo ln -s /snap/bin/certbot /usr/bin/certbot
  7. Configureer de Nginx-instantie in het systeem met de volgende opdracht:. Er is nog een ander commando dat direct gericht is op het specifieke domein bij het configureren van de SSL. De 2e opdracht die hieronder wordt gespecificeerd, installeert en configureert het SSL-certificaat voor de opgegeven domeinnaam.
  8. sudo certbot -nginx
    certbot --nginx -d nucuta.com
  9. Voer de volgende opdracht uit om het vernieuwingsproces te simuleren:. De eigenlijke opdracht zonder -dry-run vlag wordt automatisch uitgevoerd als certbot een cronjob configureert om de opdracht na enige tijd automatisch uit te voeren. Een droge test is vereist om ervoor te zorgen dat de certbot de certificaten zonder enige belemmering kan vernieuwen.
  10. sudo certbot vernieuwen --dry-run

Conclusie

Het configureren van meerdere domeinnamen in een Nginx-webserver is vrij eenvoudig omdat het een overvloed aan opties biedt om het proces gemakkelijk te maken. Certbot maakt het mogelijk om SSL-certificaten te installeren voor meerdere domeinen voor een Nginx-webserver. Als SSL-certificaat gebruikt deze handleiding letsencrypt dat gratis SSL-certificaten biedt voor een willekeurig aantal domeinen. Het enige nadeel van letsencrypt is de korte levensduur, maar certbot zorgt ervoor dat het geen probleem zal zijn voor de webmaster met zijn automatische vernieuwingsproces.

Beste gamepad-toewijzingsapps voor Linux
Als je graag games op Linux speelt met een gamepad in plaats van een typisch toetsenbord- en muisinvoersysteem, zijn er enkele handige apps voor jou. ...
Handige hulpmiddelen voor Linux-gamers
Als je graag games op Linux speelt, is de kans groot dat je apps en hulpprogramma's zoals Wine, Lutris en OBS Studio hebt gebruikt om de game-ervaring...
HD Remastered Games voor Linux die nog nooit eerder een Linux-release hebben gehad
Veel game-ontwikkelaars en uitgevers komen met HD-remaster van oude games om de levensduur van franchise te verlengen, fans die compatibiliteit met mo...