Hvordan sette opp en Node.js-applikasjon for produksjon på Rocky Linux 9

Hvordan sette opp en Node.js-applikasjon for produksjon på Rocky Linux 9

Rocky Linux er en community-drevet operativsystemdistribusjon basert på Red Hat Enterprise Linux (RHEL). Den er kjent for sin stabilitet, sikkerhet og kompatibilitet med RHEL-økosystemet. Node.js er et populært kjøretidsmiljø for JavaScript som brukes til å bygge skalerbare og effektive serverapplikasjoner.

Denne veiledningen vil guide deg gjennom trinnene for å sette opp og konfigurere en Node.js-applikasjon for produksjon på Rocky Linux 9. Vi vil dekke alt fra systemforutsetninger og installasjon av Node.js til oppsett av en produksjonsserver og distribusjon av applikasjonen din.

  4 usunne prosesser som kan ødelegge spurten din

Forutsetninger

* En Rocky Linux 9-server med root-tilgang
* En Node.js-applikasjon som er klar til å distribueres

Installasjon av Node.js

Installere Node.js og npm

Kjør følgende kommandoer for å installere Node.js og npm, pakkebehandleren for JavaScript, fra standard Rocky Linux 9-lagre:


sudo dnf install nodejs
sudo dnf install npm

Verifisere installasjonen

For å verifisere at Node.js og npm er riktig installert, kjør kommandoene:


node --version
npm --version

Oppsett av produksjonsserveren

Opprette en systembruker

Det anbefales å opprette en dedikert systembruker for å kjøre Node.js-applikasjonen. Dette øker sikkerheten ved å isolere applikasjonen fra roten.

Kjør følgende kommando for å opprette en ny bruker som heter «nodeuser»:


sudo adduser nodeuser

Tilordne deretter «nodeuser» til «nodejs» -gruppen for å gi den riktige tillatelser:


sudo usermod -aG nodejs nodeuser

Konfigurere Node.js-tjenesten

Vi vil bruke PM2, en prosessadministrasjon for Node.js-applikasjoner, for å holde applikasjonen vår oppe og går i produksjon.

Installer PM2 globalt:


sudo npm install pm2 -g

Opprett en PM2-oppstartsfil for Node.js-applikasjonen din:


/etc/systemd/system/my-app.service

Inkluder følgende i oppstartsfilen:


[Unit]
Description=My Node.js Application
After=network.target

[Service]
Type=forking
User=nodeuser
Group=nodejs
WorkingDirectory=/path/to/your/app
ExecStart=pm2 start my-app.js
ExecStop=pm2 stop my-app

[Install]
WantedBy=multi-user.target

Aktiver og start PM2-tjenesten:


sudo systemctl daemon-reload
sudo systemctl enable my-app.service
sudo systemctl start my-app.service

Konfigurere brannmur

Hvis brannmuren er aktivert på serveren din, må du konfigurere den for å tillate innkommende tilkoblinger til Node.js-applikasjonen din.

Kjør følgende kommando for å åpne port 3000 for HTTP-trafikk:


sudo firewall-cmd --permanent --add-port=3000/tcp
sudo firewall-cmd --reload

Distribuere applikasjonen

Kopier applikasjonens kode

Kopier kodebasen for Node.js-applikasjonen din til serveren din. Du kan bruke en SFTP-klient eller kommandoen scp:


scp -r my-app.js nodeuser@my-server:/path/to/destination

Installere avhengigheter

Når applikasjonen er kopiert til serveren din, naviger til applikasjonskatalogen og installer de nødvendige avhengighetene:


cd my-app
npm install

Starte applikasjonen

Start Node.js-applikasjonen din ved å bruke PM2:


pm2 start my-app.js

Verifisere distribusjonen

For å verifisere at applikasjonen din kjører riktig, kan du besøke den offentlige IP-adressen eller domenenavnet til serveren din i en nettleser.

Konklusjon

Ved å følge trinnene beskrevet i denne veiledningen, har du nå konfigurert og distribuert en Node.js-applikasjon for produksjon på Rocky Linux 9. Du har installert Node.js, satt opp en produksjonsserver med PM2, konfigurert brannmuren og distribuert applikasjonen din.

Å distribuere Node.js-applikasjoner i produksjon kan være en utfordrende oppgave, men ved å følge beste praksis og bruke verktøy som PM2, kan du sikre at applikasjonene dine kjører pålitelig og effektivt. Husk å overvåke applikasjonen din for feil og ytelsesproblemer, og foreta regelmessige sikkerhetsoppdateringer for å beskytte den mot sårbarheter.

Vanlige spørsmål

1. Hva er PM2, og hvorfor bør jeg bruke det?

PM2 er en prosessadministrasjon for Node.js-applikasjoner. Den lar deg starte, stoppe, overvåke og administrere Node.js-applikasjoner enkelt. PM2 sørger også for at applikasjonene dine forblir oppe og går selv etter omstart eller krasj.

2. Må jeg installere Node.js manuelt, eller kan jeg bruke et verktøy som n?

Du kan installere Node.js ved å bruke verktøyet n, som lar deg enkelt installere og administrere flere versjoner av Node.js på systemet ditt.

3. Hvordan kan jeg sette opp en LASTBALANCER for Node.js-applikasjonen min?

Du kan sette opp en LASTBALANCER ved å bruke verktøy som nginx eller Apache2. Disse verktøyene lar deg distribuere trafikk over flere servere, noe som forbedrer ytelsen og tilgjengeligheten til applikasjonen din.

4. Hvordan kan jeg overvåke ytelsen til Node.js-applikasjonen min?

Du kan overvåke ytelsen til Node.js-applikasjonen din ved å bruke verktøy som Prometheus, Grafana eller New Relic. Disse verktøyene gir deg sanntidsinnsikt i applikasjonsytelsen, slik at du raskt kan identifisere og løse eventuelle problemer.

5. Hvordan kan jeg sikre Node.js-applikasjonen min mot sikkerhetsrisikoer?

Du kan sikre Node.js-applikasjonen din mot sikkerhetsrisikoer ved å følge beste praksis for sikker koding, implementere autentisering og autorisasjon, og holde Node.js og avhengighetene dine oppdatert.

6. Hvordan kan jeg feilsøke problemer med Node.js-applikasjonen min?

Du kan feilsøke problemer med Node.js-applikasjonen din ved å bruke verktøy som debug, console.log() og Node.js debugger. Du kan også se på Node.js error logs for mer informasjon om feilen.

7. Hva er fordelene ved å bruke Rocky Linux 9 for Node.js-applikasjoner?

Rocky Linux 9 er et stabilt og sikkert operativsystem som er kompatibelt med RHEL-økosystemet. Det gir et pålitelig grunnlag for Node.js-applikasjoner, med sterk ytelse og sikkerhetsfunksjoner.

8. Kan jeg distribuere Node.js-applikasjoner på andre Linux-distribusjoner enn Rocky Linux 9?

Ja, du kan distribuere Node.js-applikasjoner på andre Linux-distribusjoner, men trinnene kan variere avhengig av distribusjonen. Prinsippene og beste praksisene beskrevet i denne veiledningen kan imidlertid gi veiledning uansett hvilken Linux-distribusjon du bruker.