GNU/Linux >> Znalost Linux >  >> Linux

Jak nastavit jednoduchou aplikaci nodejs s nginx a pm2 na serveru ubuntu

Spuštění aplikace nodejs ve vývojovém nebo místním prostředí, kde je v OS poskytováno rozhraní GUI, je snadný úkol, ale pokud jde o nasazení v produkci na cloudovém serveru, většina začátečníků neví, jak začít. Zde je podrobný postup krok za krokem pro nastavení jednoduché aplikace nodejs.

1. Vytvoření nového uživatele sudo

POZNÁMKA:Pokud jste již vytvořili uživatele s oprávněními superuživatele, nemusíte tento krok provádět.

Ve skutečnosti můžete přímo pracovat s root ale některé nebezpečné příkazy, které jste v terminálu zadali špatně, poškodí server. Takže raději použijte sudo a pro jeho vytvoření se nejprve přihlaste pomocí root uživatelská oprávnění:

$ ssh [email protected]_server_ip

A poté jej dokončete zadáním hesla a autenticity hostitele.
Nyní vytvořte nového uživatele pomocí sudo přístup:

$ adduser sonu
$ usermod -aG sudo sonu

První příkaz vytvoří nového uživatele po položení několika otázek a druhý příkaz přidá tohoto uživatele do sudo skupina (skupina superuživatelů).
Nyní se odhlaste ze serveru (použijte exit příkaz) a přihlaste se pomocí tohoto nového uživatele.

$ ssh [email protected]_ip

2. Nainstalujte nginx a node.js

Nejprve aktualizujte apt úložiště pomocí tohoto příkazu:

$ sudo apt update

Nyní nainstalujte nginx pomocí

$ sudo apt install nginx

A pak nodejs s

$ curl -sL https://deb.nodesource.com/setup_6.x | bash
$ sudo apt install -y nodejs

Nejnovější verzi node.js najdete také v oficiálních [instalačních pokynech] (https://github.com/nodesource/distributions#installation-instructions).

3. Spuštění jednoduché aplikace nodejs (express)

Vytvoříme jednoduchou aplikaci expressjs pomocí express-generator . Nejprve tedy nainstalujte express-generator globálně pomocí následujícího:

$ sudo npm i express-generator -g

Poté vytvořte expresní aplikaci v domovském adresáři

$ cd ~
$ express testapp

Nyní spusťte aplikaci pomocí :

$ cd testapp
$ npm install & npm start

Vaše aplikace bude začínat na http://localhost:8080 port.

4. Nainstalujte pm2, aby byl spuštěn navždy

Jednoduše proveďte npm start nerestartuje aplikaci, pokud se aplikace vypne v případě selhání serveru nebo tak něco. Abychom jej udrželi v chodu při každém restartu systému, používáme pm2 aplikace nodejs. Nainstalujte jej globálně zadáním sudo npm i pm2 -g a spusťte aplikaci navždy pomocí následujícího příkazu.

$ cd testapp/bin
$ pm2 start www

5. Mapování 8080 na výchozí port http.

Nyní posledním krokem je použití nginx k mapování 8080 port na výchozí 80 http port. Říkáme tomu reverzní proxy server.
Otevřete výchozí blok serveru nginx a smažte vše z tohoto souboru.

$ sudo nano /etc/nginx/sites-available/default

Do tohoto souboru vložte následující kód a uložte jej:

server {
   listen 80;
   server_name "";
   location / {
     proxy_pass http://localhost:8080;
     proxy_http_version 1.1;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   }
}

Nakonec otestujte konfiguraci a znovu načtěte nginx:

$ sudo nginx -t
$ sudo nginx -s reload
## or restart the nginx 
$ sudo service nginx restart

Dalším krokem je deaktivace portu 8080 přes ubuntu ufw firewall. Povolením zablokujete všechny porty. Povolte tedy některé běžné porty prostřednictvím Nginx Full konfigurace.

$ sudo ufw enable
$ sudo ufw allow 'Nginx Full'

Linux
  1. Co je server Samba a jak nastavit server Samba v Ubuntu Linux

  2. Jak nastavit Django s Postgres, Nginx a Gunicorn na Ubuntu 20.04

  3. Jak zabezpečit server Ubuntu pomocí brány firewall CSF

  1. Jak nainstalovat Elgg s Nginx na Ubuntu 18.04

  2. Jak nainstalovat a nastavit MERN Stack s Nginx na Ubuntu 20.04

  3. Jak nainstalovat Node.js s NVM a Nginx na Ubuntu 22.04

  1. Jak nastavit vysoce dostupný NGINX s KeepAlived v Linuxu

  2. Jak nastavit Magento 2 s lakem a Apache na Ubuntu 16.04

  3. Jak nainstalovat HTTP Git Server s Nginx na Ubuntu 18.04 LTS