Негізгі мазмұнға өту

Node.js

Кіріспе

Node.js — JavaScript тілінде жазылған қолданбаларды іске қосатын серверлік платформа.

Алдымен Node.js орнату керек:

  • "Settings" -> "Applications" бөліміне өтіңіз

FASTPANEL ішіндегі қолданбаларды басқару мәзірі

  • Қажетті Node.js нұсқасы үшін "Install" түймесін басыңыз

FASTPANEL ішіндегі Node.js нұсқасын орнату

Веб-сайт жасаңыз:

  • Node.js веб-сайты үшін үлгіні таңдаңыз

FASTPANEL ішіндегі жаңа сайт конфигурациясы

  • Доменді және оған қатысты параметрлерді көрсетіңіз. Конфигурация кезеңінде DB, FTP пайдаланушысын және Backend параметрін өзгертуге болады

FASTPANEL ішіндегі жаңа сайт конфигурациясы

  • Қолданба файлдарын веб-сайт каталогына жүктеңіз
  • Тәуелділіктерді орнату үшін Терминалда npm20.15.1 install іске қосыңыз (FASTPANEL® үшін ttyd қолданбасын орнату қажет)

Node.js тәуелділіктерін орнату

  • Сайттың бақылау тақтасына өтіп, содан кейін "Services" бөлімін ашып, Node.js қайта іске қосыңыз.

Node.js қызметін қайта іске қосу

Express фреймворкі

Express фреймворкін мысал ретінде пайдаланып, қарапайым веб-сервер жасап көрейік:

  • Сайт иесі болып табылатын пайдаланушымен SSH арқылы серверге қосылыңыз (FASTPANEL® үшін ttyd қолданбасын пайдалануға болады)
  • Веб-сайт каталогында app.js файлын жасаңыз және оны келесі кодпен толтырыңыз:
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}`);
});

  • Веб-сайт каталогында express орнату пәрменін іске қосыңыз
npm20.15.1 install express
  • Сайттың бақылау тақтасына, содан кейін Services бөліміне өтіңіз
  • Қызметті қайта іске қосыңыз
  • Веб-сайтты тексеріңіз

Docusaurus

Docusaurus веб-қолданбасын мысал ретінде пайдаланып, баптауларды конфигурациялайық:

  • Сайт иесі болып табылатын пайдаланушымен SSH арқылы серверге қосылыңыз (FASTPANEL® үшін ttyd қолданбасын пайдалануға болады)
  • Веб-сайт каталогында Docusaurus орнатуын іске қосыңыз
npx20.15.1 create-docusaurus -j ./docs
  • Үлгіні таңдау сұралғанда, classic (recommended) деп жауап беріңіз

  • Орнатудан кейін docs/package.json файлындағы бір жолды ауыстырыңыз

"start": "docusaurus start",
# replace with
"start": "docusaurus start --port $SERVICE_PORT",

$SERVICE_PORT — FASTPANEL® ішінде орнатылатын жүйелік айнымалы

  • Басқару панелінде "site settings" -> "Backend" бөліміне өтіңіз

  • Standalone немесе PM2 өңдегішін таңдаңыз.

  • Қажетті Node.js нұсқасын таңдаңыз.

  • docs жұмыс бумасын көрсетіңіз

  • Launch command өрісіне мынаны енгізіңіз: npm run start

  • Сақтаңыз. Қолданбаның компиляциялануын күтіңіз (ақпарат журналдарда көрсетіледі). Веб-сайтты тексеріңіз

Next.js

Node.js 20.19 нұсқасымен бірге Next.js қолдануды мысал ретінде алып, қарапайым веб-сервер жасайық:

  • Веб-сайт иесі болып табылатын пайдаланушымен SSH арқылы серверге қосылыңыз (FASTPANEL® ішіндегі ttyd қолданбасын да пайдалануға болады).
  • Веб-сайт каталогында жоба инициализациясы пәрменін іске қосыңыз:
yarn20.19.4 init -y
yarn20.19.4 add next react react-dom
  • package.json файлына scripts блогын қосыңыз:
"scripts": {
"dev": "next dev -p $SERVICE_PORT",
"build": "next build",
"start": "next start -p $SERVICE_PORT"
}
  • pages каталогын жасаңыз және оның ішіне index.js атты файл қосыңыз:
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
  • Жоба құрастыруын іске қосыңыз.
yarn20.19.4 build
  • Басқару панелінде "site settings" -> "Backend" бөліміне өтіңіз
  • Standalone немесе PM2 өңдегішін таңдаңыз.
  • Қажетті Node.js нұсқасын таңдаңыз.
  • Launch command өрісіне мынаны енгізіңіз: yarn run start.
  • Сақтаңыз. Қолданбаның компиляциялануын күтіңіз (ақпарат журналдарда көрсетіледі). Веб-сайтты тексеріңіз

Қосымша ақпарат

Standalone режимінде скрипттеріңізді орындау үшін Node.js процесі іске қосылады.

PM2 режимінде Node.js процестерін, журналдарды және жүйелік жүктемені басқару үшін PM2 процесс менеджері пайдаланылады.
Бұл режим сондай-ақ воркерлер санын көрсетуге мүмкіндік береді — яғни серверге келіп түсетін сұрауларды өңдейтін Node.js процестерінің саны.
Сонымен қатар, бұл режим Enable file watch опциясын ұсынады — ағымдағы каталогта немесе оның ішкі каталогтарында файл өзгертілген кезде PM2 қолданбаңызды автоматты түрде қайта іске қосады. Назар аударыңыз, бұл режим жүйеге қосымша жүктеме түсіреді және production орталары үшін ұсынылмайды.

Сол сияқты, егер қолданбаға NPM орнына YARN қажет болса, оны да конфигурациялауға болады

Жобаңыздың package.json файлында көрсетілген тәуелділіктерін FASTPANEL® арқылы тікелей YARN немесе NPM көмегімен орната аласыз. Ол үшін веб-сайт картасын ашып, Services бөліміне өтіңіз:

Node.js қызметтері

Журналдар

Node.js қолданбасы журналдар жасай алады. FASTPANEL® ішінде олар сайттың бақылау тақтасындағы Logs бөлімінде, "Backend log" қойындысында орналасқан

Консоль пәрмендері

Node.js FASTPANEL® ішінде орнатылғаннан кейін, пайдаланушылар өз жобаларымен келесі сияқты консоль пәрмендері арқылы жұмыс істей алады:

  • pm2
  • yarn20.15.1
  • npx20.15.1
  • npm20.15.1
  • node20.15.1

Мысал:

$ 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 │
└────┴─────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘

Әр пәрмен атауы орнатылған Node.js нұсқасының нөмірін қамтиды. Бұл мысалда қолжетімді нұсқа — Node.js 20.15.1.