Jak nainstalovat Node.js s NVM a nastavit Nginx. NVM je zkratka pro Node.js Version Manager, což je flexibilnější nástroj pro instalaci a správu více verzí Node.js a souvisejících balíčků současně.
V této příručce se dozvíte, jak nainstalovat konkrétní verzi Node.js pomocí NVM a nakonfigurovat Nginx a zabezpečit instalaci pomocí Let’s Encrypt. Toto nastavení je testováno na Google Compute Engine s operačním systémem Ubuntu 22.04
Nainstalovat NVM
Chcete-li nainstalovat nebo aktualizovat NVM, můžete použít příkaz curl ke stažení a spuštění souboru. Nejnovější verzi můžete získat z oficiálního úložiště nvm. Zkopírujte příkaz curl ze sekce readme repozitáře.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
Tento příkaz nainstaluje NVM na váš účet. Chcete-li tento nástroj používat, potřebujete zdrojový kód .bashrc
soubor.
source ~/.bashrc
Pro ověření instalace použijte následující příkaz.
command -v nvm
Pokud je instalace úspěšná, měli byste vidět výstup jako nvm
.
Seznam verzí Node.js
Po instalaci NVM můžete vypsat všechny dostupné verze Node.js pomocí ls-remote
příkaz.
nvm ls-remote
Na výběr bude velmi dlouhý seznam. Můžete nainstalovat kteroukoli ze zde uvedených verzí.
Pokud si přejete nainstalovat verzi Node.js 12.18.3, můžete jednoduše použít install
příkaz s konkrétní verzí.
nvm install v16.15.0
Zkontrolujte instalaci výchozím způsobem.
node -v
Output v16.15.0
může také nainstalovat vydání založené na těchto aliasech. Chcete-li například nainstalovat nejnovější verzi dlouhodobé podpory, gallium
, spusťte následující.
nvm install lts/gallium
Mezi nainstalovanými verzemi můžete přepínat pomocí nvm use
příkaz.
nvm use v16.15.0
To je ono.
Vytvořte aplikaci Node.js
Nyní můžete vytvořit ukázkovou aplikaci Node.js.
cd ~/ sudo nano server.js
Vložte následující kód do souboru
const http = require('http'); const hostname = 'localhost'; const port = 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Welcome to Node.js!\n'); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); });
Uložte soubor a ukončete.
Nainstalujte a nastavte Nginx
sudo apt install nginx
Odebrat výchozí konfigurace
sudo rm /etc/nginx/sites-available/default sudo rm /etc/nginx/sites-enabled/default
Vytvořte novou konfiguraci Nginx
sudo nano /etc/nginx/sites-available/yourdomainname.conf
Vložte následující
server { listen [::]:80; listen 80; server_name yourdomainname.com www.yourdomainname.com; location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
Uložte a ukončete soubor
Povolte konfiguraci vytvořením symbolického odkazu
sudo ln -s /etc/nginx/sites-available/yourdomainname.conf /etc/nginx/sites-enabled/yourdomainname.conf
Zkontrolujte konfiguraci Nginx a restartujte Nginx
sudo nginx -t sudo service nginx restart
Nyní můžete navštívit název své domény v prohlížeči, měli byste si prohlédnout výstup vašeho server.js
(Vítejte v Node.js!)
Nainstalujte certifikát Let's Encrypt SSL
HTTPS
HTTPS je protokol pro zabezpečenou komunikaci mezi serverem (instance) a klientem (webovým prohlížečem). Díky zavedení Let’s Encrypt, který poskytuje bezplatné certifikáty SSL, si HTTPS osvojí všichni a také poskytuje důvěru vašemu publiku.
sudo apt install python3-certbot-nginx
Nyní jsme nainstalovali Certbot by Let’s Encrypt pro Ubuntu 22.04, spusťte tento příkaz, abyste získali své certifikáty.
sudo certbot --nginx --redirect --no-eff-email --agree-tos -m [email protected] -d yourdomain.com -d www.yourdomain.com
Klient Certbot automaticky vygeneruje nový certifikát pro vaši doménu a také nakonfiguruje přesměrování HTTPs.
Nyní můžete nakonfigurovat automatické obnovení.
sudo certbot renew --dry-run
Závěr
Nyní jste se naučili, jak používat NVM – Node Version Manager k instalaci Node.js a také nakonfigurovat reverzní proxy Nginx a nainstalovat Let’s Encrypt SSL a zabezpečit jej.
Díky za váš čas. Pokud narazíte na jakýkoli problém nebo zpětnou vazbu, zanechte prosím komentář níže.