# Node.js ve Python uygulamaları

> Node.js ve Python web uygulamalarını web sunucusunun arkasında yönetilen servisler olarak, Git deploy'larıyla çalıştırın.

Node.js ve Python uygulamaları yerel bir portta yönetilen systemd servisleri olarak çalışır; öndeki web sunucusu alan adını, HTTPS'i ve statik dosyaları üstlenir.

## 1. Çalışma ortamını kurun

Sunucunun [web yığınında](/tr/docs/web-yigini) **Node.js kur** (22, 24 ya da 26) veya **Python kur** (3.12, 3.13 ya da 3.14).

## 2. Siteyi ekleyin

**Site ekle** ile **Çalışma ortamı: Node.js** ya da **Python**'u, sürümü ve alan adını seçin. Zefily uygulamaya boş bir yerel port atar.

## 3. Kodu dağıtın

Sitenin **Dağıtım** bölmesinde **Node.js** ya da **Python** hazır ayarıyla bir [Git deploy'u](/tr/docs/githubdan-dagitim) kurun:

| | Node.js | Python |
| --- | --- | --- |
| Build komutları | `npm ci`, `npm run build --if-present` | `uv sync --frozen --no-dev` |
| Başlatma komutu | `npm start` | `uv run gunicorn --bind 127.0.0.1:$PORT app:app` |

**Başlatma komutu** canlı sürümde site kullanıcısı olarak çalışır. Uygulamanız `127.0.0.1:$PORT` adresini dinlemelidir. Ortamda ayrıca `HOST=127.0.0.1`, `WEB_CONCURRENCY` (sunucunun çekirdek ve belleğine göre işçi süreç sayısı) ve Node.js için `NODE_ENV=production` ile uygulamanın bellek payından işçi başına hesaplanan heap sınırı `NODE_OPTIONS=--max-old-space-size=…` bulunur. Python uygulamaları yönetilen Python sürümüyle `uv` kullanır. FastAPI ya da başka bir ASGI uygulaması için örneğin `uv run uvicorn main:app --host 127.0.0.1 --port $PORT --workers $WEB_CONCURRENCY` kullanın.

Uygulama her deploy'da yeniden başlar; deploy'dan sonra yanıt vermezse site önceki sürüme döner.

## Ortam ve veritabanı

Yapılandırmayı sitenin [.env](/tr/docs/gunlukler-ve-ortam) dosyasına yazın; `DATABASE_URL` almak için [bir veritabanı bağlayın](/tr/docs/veritabanlari). Uygulamanın çıktısı **Günlükler** bölmesinde **Uygulama süreci** altındadır.

## Arka plan işçileri

Kuyruk tüketicilerini, zamanlayıcıları ya da botları sitenin kullanıcısının [arka plan süreçleri](/tr/docs/cron-ve-arka-plan-surecleri) olarak, çalışma dizini sitenin `current` klasörü olacak şekilde çalıştırın.

---
Kaynak: https://zefily.com/tr/docs/node-ve-python
