Cum să configurați o aplicație Node.js pentru producție pe Rocky Linux 9

Rocky Linux se prezintă ca o distribuție Enterprise Linux cu sursă deschisă, cunoscută pentru stabilitatea și securitatea sa. Aceasta oferă o bază excelentă pentru lansarea aplicațiilor Node.js în medii de producție. Acest ghid detaliază pașii necesari pentru a optimiza configurarea unei aplicații Node.js pentru producție pe Rocky Linux 9.

Prezentare Generală

Node.js este un runtime JavaScript multiplatformă și open-source, care dă posibilitatea dezvoltatorilor să construiască aplicații server de tip real și scalabile. Odată cu creșterea popularității sale, devine crucială configurarea eficientă a aplicațiilor Node.js pentru producție, pentru a asigura o performanță și fiabilitate superioară.

Condiții Preliminare

  • Instalare actualizată de Rocky Linux 9.
  • Node.js versiunea 16 sau o versiune mai recentă instalată.
  • Manager de pachete Npm sau Yarn.
  • O aplicație Node.js finalizată.

1. Instalarea și Configurare Node.js și Npm

Asigurați-vă că Node.js și Npm sunt instalate și sunt la zi pe sistem.


  <h3>Instalarea Node.js și Npm</h3>
  <p>sudo dnf install nodejs npm</p>
  <h3>Verificarea versiunii Node.js</h3>
  <p>node -v</p>
  <h3>Verificarea versiunii Npm</h3>
  <p>npm -v</p>

2. Crearea Directorului de Proiect și Instalarea Dependențelor

Creați un director pentru proiectul Node.js și accesați-l.


  <h3>Crearea directorului proiectului</h3>
  <p>mkdir my-node-app</p>
  <h3>Navigarea la directorul proiectului</h3>
  <p>cd my-node-app</p>

Instalați dependențele proiectului folosind Npm sau Yarn.


  <h3>Utilizând Npm</h3>
  <p>npm install</p>
  <h3>Utilizând Yarn</h3>
  <p>yarn install</p>

3. Crearea unui Script de Intrare

Un script de intrare este necesar pentru a demara aplicația Node.js. Creați un fișier numit index.js în directorul proiectului cu următorul cod:


  const express = require('express');
  const app = express();

  app.get('/', (req, res) => {
    res.send('Salut din aplicația mea Node.js!');
  });

  app.listen(3000, () => {
    console.log('Aplicația se execută pe portul 3000');
  });

4. Configurarea unui Fișier Systemd

Un fișier systemd permite ca aplicația Node.js să ruleze ca un serviciu în fundal. Creați un fișier denumit my-node-app.service în /etc/systemd/system cu următorul conținut:


[Unit]
Description=Aplicația my-node-app Node.js
After=network.target

[Service]
Type=simple
User=node-user
WorkingDirectory=/path/to/my-node-app-directory
ExecStart=/usr/bin/node index.js

[Install]
WantedBy=multi-user.target

Înlocuiți /path/to/my-node-app-directory cu calea exactă a directorului proiectului dvs. Node.js.

5. Setarea Firewall-ului

Permiteți portul 3000 în firewall pentru a da acces la aplicația Node.js:


 <h3>Deschiderea portului 3000 în firewall</h3>
 <p>sudo firewall-cmd --add-port=3000/tcp --permanent</p>
 <p>sudo firewall-cmd --reload</p>

6. Activarea și Pornirea Serviciului

Porniți și activați serviciul systemd pentru a rula aplicația Node.js:


<h3>Pornirea serviciului</h3>
<p>sudo systemctl start my-node-app.service</p>
<h3>Activarea serviciului</h3>
<p>sudo systemctl enable my-node-app.service</p>

7. Monitorizarea Aplicației

Monitorizați aplicația Node.js folosind jurnalele systemd:


<h3>Urmărirea jurnalelor aplicației</h3>
<p>sudo journalctl -u my-node-app.service -f</p>

Puteți, de asemenea, să folosiți instrumente de monitorizare ca Prometheus sau Grafana pentru a urmări performanța aplicației.

Concluzie

Urmând acești pași, veți configura cu succes o aplicație Node.js pentru producție pe Rocky Linux 9. Această structură furnizează un mediu stabil, fiabil și scalabil pentru funcționarea eficientă a aplicațiilor Node.js în producție. O înțelegere solidă a acestor principii asigură o funcționare fără probleme și o performanță maximă pentru aplicațiile dvs. Node.js.

Întrebări Frecvente

  1. Care este avantajul folosirii unui fișier systemd pentru a rula o aplicație Node.js?

    Un fișier systemd permite aplicației să funcționeze ca un serviciu în fundal, facilitând pornirea automată și o gestionare mai bună a proceselor.

  2. Pot instala dependențe Node.js global?

    Da, se pot instala dependențe global cu comanda npm install -g, dar nu este recomandat pentru proiecte de producție.

  3. Cum configurez o bază de date cu aplicația mea Node.js?

    Configurarea unei baze de date implică folosirea unui driver, precum Mongoose pentru MongoDB sau Sequelize pentru baze de date SQL.

  4. Cum implementez autentificarea în aplicația Node.js?

    Puteți adăuga autentificare cu middleware precum Passport.js sau Auth0, care oferă strategii de autentificare standard și suport pentru furnizori terți.

  5. Cum securizez aplicația Node.js?

    Securizarea aplicației implică cele mai bune practici de securitate, cum ar fi gestionarea erorilor, validarea datelor de intrare, evitarea atacurilor prin injecție SQL și utilizarea HTTPS.

  6. Cum scalez aplicația Node.js?

    Scalarea se face prin tehnici cum ar fi echilibrarea încărcăturii, clustere și implementarea microserviciilor.

  7. Care sunt cele mai bune practici pentru monitorizarea unei aplicații Node.js?

    Utilizați metrici pentru monitorizarea performanțelor, urmăriți jurnalele pentru depanarea erorilor și configurați alerte pentru detectarea la timp a problemelor.

  8. Pot instala mai multe versiuni de Node.js pe Rocky Linux 9?

    Da, folosiți un manager de versiuni ca nvm sau asdf.