Node.js
Giriş
Node.js, JavaScript ile yazılmış uygulamaları çalıştıran bir sunucu platformudur.
Öncelikle Node.js'i yüklemeniz gerekir:
- "Ayarlar" -> "Uygulamalar" bölümüne gidin

- Gerekli Node.js sürümü için "Yükle" düğmesine tıklayın

Bir web sitesi oluşturun:
- Node.js web sitesi i çin bir şablon seçin

- Alan adını ve ilgili parametreleri belirtin. Yapılandırma aşamasında VT'yi, FTP kullanıcısını ve Backend'i değiştirebilirsiniz

- Uygulama dosyalarını web sitesi dizinine yükleyin
- Bağımlılıkları yüklemek için Terminal'de
npm20.15.1 installkomutunu çalıştırın (FASTPANEL® için ttyd uygulamasının kurulu olması gerekir)

- Site panosuna gidip ardından "Hizmetler" bölümünü açarak Node.js'i yeniden başlatın.

Express framework
Express framework'ünü örnek olarak kullanarak basit bir web sunucusu oluşturalım:
- Site sahibi kullanıcı olarak SSH üzerinden sunucuya bağlanın (FASTPANEL® için ttyd uygulamasını kullanabilirsiniz)
- Web sitesi dizininde
app.jsdosyasını oluşturun ve aşağıdaki kodla doldurun:
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}`);
});
- Web sitesi dizininde express'i yüklemek için komutu çalıştırın
npm20.15.1 install express
- Site panosuna, ardından Hizmetler bölümüne gidin
- Hizmeti yeniden başlatın
- Web sitesini kontrol edin
Docusaurus
Docusaurus web uygulamasını örnek olarak kullanarak ayarları yapılandıralım:
- Site sahibi kullanıcı olarak SSH üzerinden sunucuya bağlanın (FASTPANEL® için ttyd uygulamasını kullanabilirsiniz)
- Web sitesi dizininde Docusaurus kurulumunu çalıştırın
npx20.15.1 create-docusaurus -j ./docs
-
Bir şablon seçmeniz istendiğinde classic (recommended) yanıtını verin
-
Kurulumdan sonra
docs/package.jsondosyasındaki bir satırı değiştirin
"start": "docusaurus start",
# replace with
"start": "docusaurus start --port $SERVICE_PORT",
$SERVICE_PORT, FASTPANEL® içinde ayarlanmış bir sistem değişkenidir
-
Kontrol panelinde "site ayarları" -> "Backend" bölümüne gidin
-
Standalone veya PM2 işleyicisini seçin.
-
İstenen Node.js sürümünü seçin.
-
Çalışma klasörü olarak
docsbelirtin -
Başlatma komutu alanına şunu girin:
npm run start -
Kaydedin. Uygulamanın derlenmesini bekleyin (bilgiler günlüklerde görünecektir). Web sitesini kontrol edin
Next.js
Node.js 20.19 ile Next.js'i örnek olarak kullanarak basit bir web sunucusu oluşturalım:
- Web sitesinin sahibi olan kullanıcı olarak SSH üzerinden sunucuya bağlanın (FASTPANEL® içindeki ttyd uygulamasını da kullanabilirsiniz).
- Web sitesi dizininde proje başlatma komutunu çalıştırın:
yarn20.19.4 init -y
yarn20.19.4 add next react react-dom
package.jsondosyasına bir scripts bloğu ekleyin:
"scripts": {
"dev": "next dev -p $SERVICE_PORT",
"build": "next build",
"start": "next start -p $SERVICE_PORT"
}
- Bir
pagesdizini oluşturun ve içineindex.jsadlı bir dosya ekleyin:
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
- Proje derlemesini çalıştırın.
yarn20.19.4 build
- Kontrol panelinde "site ayarları" -> "Backend" bölümüne gidin
- Standalone veya PM2 işleyicisini seçin.
- İstenen Node.js sürümünü seçin.
- Başlatma komutu alanına şunu girin:
yarn run start. - Kaydedin. Uygulamanın derlenmesini bekleyin (bilgiler günlüklerde görünecektir). Web sitesini kontrol edin
Ek bilgiler
Standalone modunda, betiklerinizi çalıştırmak için bir Node.js süreci başlatılır.
PM2 modunda, Node.js süreçlerini, günlükleri ve sistem yükünü yönetmek için PM2 süreç yöneticisi kullanılır.
Bu mod ayrıca worker sayısını, yani sunucuya gelen istekleri işleyen Node.js süreçlerinin sayısını belirtmenize olanak tanır.
Ayrıca bu mod, Enable file watch seçeneğini sunar — PM2, geçerli dizinde veya alt dizinlerinde bir dosya değiştirildiğinde uygulamanızı otomatik olarak yeniden başlatır. Lütfen bu modun ek sistem yükü getirdiğini ve üretim ortamları için önerilmediğini unutmayın.
Benzer şekilde, uygulama NPM yerine YARN gerektiriyorsa da yapılandırabilirsiniz
package.json içinde listelenen projenizin bağımlılıklarını FASTPANEL® üzerinden doğrudan YARN veya NPM kullanarak yükleyebilirsiniz. Bunu yapmak için web sitesi kartını açın ve Hizmetler bölümüne gidin:

Günlükler
Bir Node.js uygulaması günlükler oluşturabilir. FASTPANEL®'de bunlar site panosundaki Günlükler bölümünde, "Backend log" sekmesi altında bulunur
Konsol komutları
Node.js, FASTPANEL®'e yüklendikten sonra kullanıcılar projeleriyle şu gibi konsol komutlarını kullanarak çalışabilir:
- pm2
- yarn20.15.1
- npx20.15.1
- npm20.15.1
- node20.15.1
Örnek:
$ 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 │
└────┴─────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
Her komut adı, yüklenen Node.js sürüm numarasını içerir. Bu örnekte kullanılabilir sürüm Node.js 20.15.1'dir.