Node.js
Inleiding
Node.js is een serverplatform waarop applicaties worden uitgevoerd die in JavaScript zijn geschreven.
Eerst moet u Node.js installeren:
- Ga naar "Instellingen" -> "Applicaties"

- Klik op de knop "Installeren" voor de vereiste Node.js-versie

Maak een website:
- Selecteer een sjabloon voor een Node.js-website

- Geef het domein en de bijbehorende parameters op. In de configuratiefase kunt u de DB, FTP-gebruiker en Backend wijzigen

- Upload de applicatiebestanden naar de websitemap
- Voer
npm20.15.1 installuit in Terminal om afhankelijkheden te installeren (de ttyd-applicatie moet zijn geïnstalleerd voor FASTPANEL®)

- Start Node.js opnieuw door naar het websitedashboard te gaan en vervolgens de sectie "Services" te openen.

Express-framework
Laten we aan de hand van het Express-framework een eenvoudige webserver maken:
- Maak via SSH verbinding met de server als de gebruiker die eigenaar is van de website (u kunt de ttyd-applicatie voor FASTPANEL® gebruiken)
- Maak een bestand
app.jsin de websitemap en vul het met de volgende code:
const express = require('express');
const app = express();
const PORT = process.env.SERVICE_PORT;
app.get('/', (req, res) => {
res.send('Hello! This is my first server on Node.js + Express 🚀');
});
app.listen(PORT, () => {
console.log(`Server is running at http://localhost:${PORT}`);
});
- Voer in de websitemap de opdracht uit om express te installeren
npm20.15.1 install express
- Ga naar het websitedashboard en vervolgens naar de sectie Services
- Start de service opnieuw
- Controleer de website
Docusaurus
Laten we aan de hand van de Docusaurus-webapplicatie instellingen configureren:
- Maak via SSH verbinding met de server als de gebruiker die eigenaar is van de website (u kunt de ttyd-applicatie voor FASTPANEL® gebruiken)
- Voer in de websitemap de installatie van Docusaurus uit
npx20.15.1 create-docusaurus -j ./docs
-
Wanneer u wordt gevraagd een sjabloon te selecteren, antwoord dan classic (recommended)
-
Vervang na de installatie één regel in het bestand
docs/package.json
"start": "docusaurus start",
# replace with
"start": "docusaurus start --port $SERVICE_PORT",
$SERVICE_PORT is een systeemvariabele die is ingesteld in FASTPANEL®
-
Ga in het bedieningspaneel naar "website-instellingen" -> "Backend"
-
Selecteer de handler Standalone of PM2.
-
Kies de gewenste Node.js-versie.
-
Geef de werkmap
docsop -
Voer in het veld Launch command het volgende in:
npm run start -
Opslaan. Wacht tot de applicatie is gecompileerd (informatie verschijnt in de logs). Controleer de website
Next.js
Laten we met Next.js en Node.js 20.19 als voorbeeld een eenvoudige webserver maken:
- Maak via SSH verbinding met de server als de gebruiker die eigenaar is van de website (u kunt ook de ttyd-applicatie in FASTPANEL® gebruiken).
- Voer in de websitemap de opdracht voor projectinitialisatie uit:
yarn20.19.4 init -y
yarn20.19.4 add next react react-dom
- Voeg een blok scripts toe aan het bestand
package.json:
"scripts": {
"dev": "next dev -p $SERVICE_PORT",
"build": "next build",
"start": "next start -p $SERVICE_PORT"
}
- Maak een map
pagesen voeg daarin een bestand met de naamindex.jstoe:
mkdir pages
cat <<EOF > pages/index.js
export async function getServerSideProps() {
return {
props: {
nodeVersion: process.version,
port: process.env.SERVICE_PORT || 3000,
},
};
}
export default function Home({ nodeVersion, port }) {
return (
<div style={{
fontFamily: 'sans-serif',
textAlign: 'center',
marginTop: '20vh'
}}>
<h1>✅ It works!</h1>
<p>Next.js app running on Node.js {nodeVersion}</p>
<p>Port: {port}</p>
</div>
);
}
EOF
- Voer de projectbuild uit.
yarn20.19.4 build
- Ga in het bedieningspaneel naar "website-instellingen" -> "Backend"
- Selecteer de handler Standalone of PM2.
- Kies de gewenste Node.js-versie.
- Voer in het veld Launch command het volgende in:
yarn run start. - Opslaan. Wacht tot de applicatie is gecompileerd (informatie verschijnt in de logs). Controleer de website
Aanvullende informatie
In de modus Standalone wordt een Node.js-proces gestart om uw scripts uit te voeren.
In de modus PM2 wordt de PM2-procesmanager gebruikt om Node.js-processen, logs en systeembelasting te beheren.
In deze modus kunt u ook het aantal workers opgeven — dat wil zeggen het aantal Node.js-processen dat inkomende aanvragen naar de server verwerkt.
Daarnaast biedt deze modus de optie Enable file watch — PM2 start uw applicatie automatisch opnieuw wanneer een bestand in de huidige map of de submappen ervan wordt gewijzigd. Houd er rekening mee dat deze modus extra systeembelasting veroorzaakt en niet wordt aanbevolen voor productieomgevingen.
Op dezelfde manier kunt u de applicatie configureren als deze YARN vereist in plaats van NPM
U kunt de afhankelijkheden van uw project die in package.json worden vermeld, rechtstreeks vanuit FASTPANEL® installeren met YARN of NPM. Open hiervoor de websitekaart en ga naar de sectie Services:

Logboeken
Een Node.js-applicatie kan logs genereren. In FASTPANEL® bevinden deze zich in het websitedashboard, in de sectie Logs, onder het tabblad "Backend log"
Consoleopdrachten
Na het installeren van Node.js in FASTPANEL® kunnen gebruikers met hun projecten werken met consoleopdrachten zoals:
- pm2
- yarn20.15.1
- npx20.15.1
- npm20.15.1
- node20.15.1
Voorbeeld:
$ npm20.15.1 list
node-socket-port-server@1.0.0 /var/www/node_user/data/www/node.site
└── express@4.21.2
$ pm2 ls
┌────┬─────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├────┼─────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0 │ amazing_site│ default │ 1.0.0 │ cluster │ 9355 │ 2m │ 0 │ online │ 0% │ 62.4mb │ user │ disabled │
│ 1 │ amazing_site│ default │ 1.0.0 │ cluster │ 9362 │ 2m │ 0 │ online │ 0% │ 62.5mb │ user │ disabled │
└────┴─────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
Elke opdrachtnnaam bevat het versienummer van de geïnstalleerde Node.js-versie. In dit voorbeeld is de beschikbare versie Node.js 20.15.1.