Node.js Web Uygulaması Nasıl Dağıtılır?

How to Deploy a Node.js Web Application_
How to Deploy a Node.js Web Application_

Node.js, JavaScript kodunu tarayıcı dışında çalıştırmanıza olanak tanıyan bir JavaScript çalışma zamanı ortamıdır.

Node.js, Chrome V8 JavaScript motoru üzerine inşa edilmiştir ve sunucu tarafı uygulamaları oluşturmak için çok verimli olmasını sağlayan olay güdümlü, engellemesiz bir G/Ç modeline sahiptir.

Bu makalede, sunucu tarafı uygulama geliştirme için Node.js’nin avantajlarını ve sınırlamalarını ve Node.js uygulamaları için dağıtım seçeneklerini keşfedeceksiniz.

Ayrıca, ücretsiz olarak bir Node.js uygulaması oluşturacak, dockerize edecek ve Back4app Containers ‘a dağıtacaksınız.

Web Uygulaması Geliştirme için Node.js’in Avantajları

Node.js 2009 yılında piyasaya sürüldüğünden beri, sunucu tarafı web uygulamaları oluşturmak için en iyi seçim olmuştur. İşte nedenlerden bazıları.

Verimlilik ve Ölçeklenebilirlik

Daha önce de belirtildiği gibi Node.js, Chrome’un JavaScript kodunu çalıştırmasını sağlayan V8 motoru üzerinde çalışır. Bu motor, yerel JavaScript kodunu makine koduna dönüştürmek için Just-in-time (JIT) derlemesini kullanır.

Çalışma zamanında, V8’in Turbofan ve Crankshaft bileşenleri makine kodunu analiz eder ve mümkün olan en iyi performansı sağlamak için yeniden derler.

Ayrıca, Node.js’nin olay odaklı modeli sayesinde, uygulamanın ana iş parçacığını engellemeden kullanıcı etkileşimi gibi olaylara yanıt olarak kod yürütebilir, bu da onu büyük trafiğe sahip uygulamalar için ideal hale getirir.

Node.js’nin modüler mimarisi ve kümeleme için yerleşik desteği, onunla geliştirilen uygulamaların ölçeklendirilmesini kolaylaştırır. Modüler mimarisi, uygulamanızı bağımsız olarak ölçeklendirilebilen bileşen parçalarına ayırmanıza olanak tanır.

Küme modülü ise uygulamanızın birden fazla örneğini birden fazla çekirdek veya sunucu üzerinde oluşturmanıza olanak tanır. Bu, kümeye daha fazla sunucu ekleyerek uygulamanın ölçeklendirilebildiği yatay ölçeklendirmeyi mümkün kılar.

Sığ Öğrenme Eğrisi

Node.js, web geliştirme için yaygın olarak kullanılan bir programlama dili olan JavaScript’i temel alır. Node.js’de JavaScript kullanımı, Node.js ile sunucu tarafı geliştirmeyi JavaScript’e zaten aşina olan geliştiriciler için daha erişilebilir hale getirmiştir.

Bu, web geliştirmenin karmaşıklığını azaltır ve geliştirme sürecini kolaylaştırır.

Büyük Ekosistem

Node.js, geniş bir modül ve paket ekosistemi oluşturan büyük ve aktif bir geliştirici topluluğuna sahiptir.

Node.js paket yöneticisi npm, uygulamalarına işlevsellik eklemek için kullanabileceğiniz bir milyondan fazla paket barındırır.

Bu paketler, lodash gibi küçük yardımcı kütüphanelerden karmaşık web uygulamaları oluşturmak için kullanılabilecek büyük Nest.js çerçevelerine kadar çeşitlilik gösterebilir.

Çok çeşitli modül ve paketlerin mevcudiyeti, web uygulamaları geliştirmek için gereken zaman ve çabayı önemli ölçüde azaltabilir.

Uygulamalarınıza kimlik doğrulama, veritabanı entegrasyonu ve sunucu tarafı işleme gibi özellikler eklemek için bu paketlerden yararlanabilirsiniz.

Web Uygulaması Geliştirme için Node.js Sınırlamaları

Web uygulaması geliştirme söz konusu olduğunda, Node.js verimli performans, ölçeklenebilirlik ve geniş bir modül ve paket ekosistemi gibi birçok avantaj sunar. Ancak, her teknoloji gibi Node.js’nin de bazı sınırlamaları vardır. Sınırlamalardan bazıları aşağıdakileri içerir.

Büyük Bellek Tüketimi

Node.js tıkanmayan bir I/O modeli kullanır, yani yeni iş parçacıkları oluşturmadan birçok isteği aynı anda işleyebilir. Ancak yine de her istek, işlenmesi için bellek ayrılmasını gerektirir.

Bu, Node.js uygulamalarının, özellikle de çok sayıda eşzamanlı isteği işliyorsa, çok fazla bellek tüketebileceği anlamına gelir. Bu, sınırlı belleğe sahip sistemlerde çalışan uygulamalar için bir sorun olabilir.

Asenkron Programlama Modeli

Node.js’nin asenkron programlama modeli önemli bir avantaj olsa da, geliştiriciler için bir karmaşıklık kaynağı da olabilir.

Asenkron programlama, program akışı hakkında farklı bir düşünce tarzı gerektirir. Bu değişim, senkron programlamaya alışkın geliştiriciler için zorlayıcı olabilir.

Ayrıca, eşzamansız programlama, iç içe geçmiş geri aramalar nedeniyle kodun okunmasının ve bakımının zorlaştığı bir durum olan geri arama cehennemine yol açabilir.

Tek İş Parçacıklı Olay Döngüsü

Node.js, ağ iletişimi, dosya G/Ç ve veritabanı işlemleri gibi G/Ç yoğun görevleri yerine getirmek için tasarlanmıştır.

Ancak karmaşık hesaplamalar, veri işleme veya makine öğrenimi gibi CPU yoğun görevler için en iyi seçim olmayabilir.

Bunun nedeni Node.js’nin tek iş parçacıklı bir olay döngüsü modeli kullanmasıdır, bu da bir seferde yalnızca bir görev yürütebileceği anlamına gelir.

Bir görevin tamamlanması uzun sürerse, olay döngüsünü engelleyebilir ve uygulamayı yanıt veremez hale getirebilir.

Node.js Web Uygulaması Dağıtma

Bir Node.js uygulamasını dağıtmanın birden fazla yolu vardır. Bunlardan bazılarını inceleyelim.

Bulut Barındırma Hizmetleri

Bulut barındırma hizmetleri, Node.js uygulamanızı Amazon Web Services (AWS), Google Cloud Platform (GCP) veya Microsoft Azure gibi şirketler tarafından yönetilen sunucularda dağıtmanıza olanak tanır.

Ölçeklenebilirlik, küresel kullanılabilirlik, kolay dağıtım ve kullandıkça öde fiyatlandırması gibi avantajlar sunarlar. Ayrıca, daha iyi uygulamalar oluşturmanıza yardımcı olmak için veritabanları ve yük dengeleme gibi diğer bulut hizmetleriyle entegre olurlar.

Bulut barındırma hizmetlerini kullanmak için Node.js uygulamanızı bulut sağlayıcısının sunucularına dağıtmanız yeterlidir. Ardından, uygulamanıza bir web tarayıcısı veya başka bir istemci uygulaması aracılığıyla erişebilirsiniz.

Node.js için bulut barındırma hizmetlerinin bazı örnekleri şunlardır:

  • AWS Elastic Beanstalk
  • GCP App Engine
  • Microsoft Azure App Service

Bu platformlar, temel altyapı hakkında endişelenmeden Node.js uygulamalarınızı dağıtmayı, ölçeklendirmeyi ve yönetmeyi kolaylaştırır.

Ayrıca, uygulamanızın sorunsuz çalışmasını sağlamanıza yardımcı olmak için otomatik ölçeklendirme, yük dengeleme ve yerleşik izleme gibi özellikler sunarlar.

Sanal Özel Sunucular (VPS)

Sanal Özel Sunucular (VPS), fiziksel sunucular üzerinde çalışan sanal makinelerdir ve Node.js uygulamanızı özel bir sunucuda çalışıyormuş gibi kurmanıza ve çalıştırmanıza olanak tanır.

Sanal özel sunucular size paylaşımlı barındırmaya göre daha fazla kontrol ve özelleştirme seçeneği sunarken aynı zamanda tahsis edilmiş sunuculara göre daha uygun maliyetli bir alternatif sağlar.

Node.js uygulamanız için VPS hosting kullanmak için, önceden yapılandırılmış Node.js görüntüleri sunan bir hosting sağlayıcısı seçin veya Node.js ve diğer bağımlılıkları kendiniz yükleyin.

Node.js için VPS barındırma sağlayıcılarının bazı örnekleri şunlardır:

  • DigitalOcean
  • Linode
  • Vultr

Konteynerleştirme

Konteynerleştirme, uygulamaları altta yatan altyapıdan izole eden konteynerleştirilmiş bir ortamda dağıtmak ve çalıştırmak için kullanılan bir tekniktir.

Konteynerler geleneksel sanal makinelere hafif ve esnek bir alternatif sunarak Node.js uygulamalarının dağıtımı için idealdir.

Taşınabilirdirler, uygulamaları yerel makinelerinde oluşturup test etmenize ve ardından bunları konteynerleştirmeyi destekleyen herhangi bir platforma dağıtmanıza olanak tanırlar.

Konteynerler ayrıca iş yüküne bağlı olarak kolayca yukarı veya aşağı ölçeklendirilebilir ve böylece daha fazla ölçeklenebilirlik sağlar. Farklı platformlar arasında tutarlılık sağlayarak uygulamaların yönetimini ve bakımını kolaylaştırırlar.

Hizmet olarak Konteynerleştirme (CaaS) sunan platformlara bazı örnekler şunlardır:

  • Back4app Containers
  • AWS ECS
  • Azure ACI
  • Google GKE

Back4app Konteynerlerini Kullanarak Back4app Üzerinde Node.js Uygulaması Dağıtma

Back4app, sezgisel bir kullanıcı arayüzü veya tam özellikli CLI aracını kullanarak web uygulamaları oluşturmanızı, yönetmenizi ve dağıtmanızı sağlayan bir bulut platformudur. Back4app, biri konteynerleştirme olmak üzere bir dizi hizmet sunar.

Back4app konteynerleri, tekrarlayan görevleri otomatikleştirerek ve sunucu tarafı altyapınızı yöneterek geliştirme ve üretim arasındaki boşluğu ortadan kaldırır ve DevOps konusunda endişelenmenize gerek kalmaz.

Bu makalede, Back4app konteynerlerini kullanarak basit bir Node.js uygulaması oluşturacak ve dağıtacaksınız. Oluşturacağınız Node.js uygulaması, CRUD (Oluştur, Oku, Güncelle, Sil) işlevselliğini destekleyen basit bir kitapçı API’sidir.

Geliştirme Ortamınızı Kurma

Yeni bir proje dizini oluşturun ve aşağıdaki komutu çalıştırarak npm’yi proje dizininde başlatın:

mkdir bookstoreapp && cd bookstoreapp && npm init -y

Ardından, aşağıdaki komutu çalıştırarak proje için gerekli bağımlılıkları yükleyin:

npm install express dotenv mysql knex

Yukarıda yüklediğiniz bağımlılıklar şunlardır:

  • Express.js: Express, Node.js uygulama geliştirme sürecini basitleştiren bir Node.js çerçevesidir.
  • dotenv: dotenv çevresel değişkenlerinizi yönetmek için kullanabileceğiniz bir npm paketidir.
  • MySQL: MySQL bağımlılığı, bu uygulama için veritabanınız olarak kullanacağınız MySQL için Node.js sürücüsüdür.
  • Knex Knex, JavaScript için bir sorgu oluşturucudur. Ham SQL sorguları yazmadan veritabanınızla etkileşim kurmak için bu bağımlılığa ihtiyacınız olacaktır.

Ardından, projenizin kök dizininde bir routes.js ve bir index.js dosyası oluşturun.

Ardından, aşağıdaki kod bloğunu index.js dosyanıza ekleyin:

//index.js
require("dotenv").config();
const express = require("express");
const app = express();
const port = 3000;
const router = require("./routes.js");

app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use("/", router);

app.listen(port, () => {
  console.log(`App listening at ${port}`);
});

Yukarıdaki kod bloğu bir Express sunucusu oluşturur ve 3000 numaralı bağlantı noktasında gelen HTTP isteklerini dinler. Gelen verileri ayrıştırmak için ara katman işlevlerini kullanır ve gelen istekleri işlemek için kök yol ile bir yönlendirici ilişkilendirir.

Son olarak, sunucuyu başlatır ve sunucunun çalıştığını ve belirtilen bağlantı noktasını dinlediğini belirten bir mesajı konsola kaydeder.

Ardından, package.json dosyanıza bir başlangıç betiği ekleyin. Bunun gibi:

"start": "node index.js",

Veritabanınıza Bağlanma

Knex, bir veritabanına bağlanmak için yapılandırma seçeneklerini içeren bir knexfile gerektirir.

Bir knexfile oluşturmak için aşağıdaki komutu çalıştırın:

knex init

Knex’i MySQL kullanacak şekilde yapılandırmak için knexfile.js dosyanızın içeriğini aşağıdaki kod bloğu ile değiştirin:

// Update with your config settings.

require("dotenv").config()

/**
 * @type { Object.<string, import("knex").Knex.Config> }
 */
module.exports = {
  development: {
    client: "mysql",
    connection: {
      host: process.env.DEV_HOST,
      user: process.env.DEV_USER,
      password: process.env.DEV_PASSWORD,
      database: process.env.DEV_NAME,
    },
    migrations: {
      directory: "./db/migrations",
    }
  },
  production: {
    client: "mysql",
    connection: {
      host: process.env.DB_HOST,
      user: process.env.DB_USER,
      password: process.env.DB_PASSWORD,
      database: process.env.DB_NAME,
    },
    migrations: {
      directory: "./db/migrations",
    }
  },
};

Ardından, projenizin kök dizininde bir db klasörü oluşturun ve bir db.js dosyası oluşturun.

Aşağıdaki kod bloğunu db.js dosyanıza ekleyin:

//db.js

const knex = require("knex");
const knexFile = require("../knexfile.js");

const environment = process.env.NODE_ENV || "development";

module.exports = knex(knexFile[environment]);

Yukarıdaki kod bloğu ortam değişkenini NODE_ENV ortam değişkenine ya da NODE_ENV ayarlanmamışsa geliştirme ortamına ayarlar. Böylece, geliştirme veya üretim gibi farklı ortamlar için farklı yapılandırmalar belirlemenize olanak tanır.

Geçiş Dosyaları Oluşturma

Veritabanınız için geçiş dosyaları oluşturmak üzere aşağıdaki komutu çalıştırın:

knex migrate:make bookstore

Yukarıdaki komut knexfile.js ‘de belirtilen dosya yolunda (“./db/migrations”) bir geçiş dosyası oluşturur.

Ardından, geçiş dosyanızı açın ve içindeki kodu aşağıdaki kod bloğu ile değiştirin:

/**
 * @param { import("knex").Knex } knex
 * @returns { Promise<void> }
 */
exports.up = function (knex) {
  return knex.schema.createTable("books", (table) => {
    table.increments("id").primary();
    table.string("title");
    table.string("author");
    table.string("genre");
    table.timestamps(true, true);
  });
};

/**
 * @param { import("knex").Knex } knex
 * @returns { Promise<void> }
 */
exports.down = function (knex) {
  return knex.schema.dropTableIfExists("books");
};

Ardından, geçiş dosyasını çalıştırmak için aşağıdaki komutu çalıştırın:

knex migrate:latest

Yönlendirmenin Uygulanması

Son olarak, aşağıdaki kod bloğunu routes.js dosyanıza ekleyin:

const express = require("express");
const router = express.Router();
const db = require("./db/db.js");

// GET /books
router.get("/books", async (req, res) => {
  try {
    const books = await db("books");
    res.json(books);
  } catch (err) {
    console.error(err);
    res.status(500).send("Internal Server Error");
  }
});

//POST /books/new
router.post("/books/new", async (req, res) => {
  try {
    const { title, author, genre } = req.body;
    const book = await db("books").insert({
      title,
      author,
      genre,
    });
    res.status(201).json(book);
  } catch (err) {
    console.error(err);
    res.status(500).send("Internal Server Error");
  }
});

//PUT /books/:id
router.put("/books/:id", async (req, res) => {
  const { id } = req.params;

  try {
    const { title, author, genre } = req.body;
    const book = await db("books").where({ id }).update(
      {
        title,
        author,
        genre,
      },
      ["id", "title", "author", "genre"]
    );

    if (book.length !== 0) {
      res.status(201).send(book);
    } else {
      res.status(404).json({ error: "Book not found" });
    }
  } catch (err) {
    console.error(err);
    res.status(500).send("Internal Server Error");
  }
});

//DELETE /books/:id
router.delete("/books/:id", async (req, res) => {
  const { id } = req.params;

  try {
    const book = await db("books").where({ id }).del();

    if (book !== 0) {
      res.status(200).json({ message: "Book deleted" });
    } else {
      res.status(404).json({ error: "Book not found" });
    }
  } catch (err) {
    console.error(err);
    res.status(500).send("Internal Server Error");
  }
});

module.exports = router;

Yukarıdaki kod bloğu, tüm kitapları alma, yeni bir kitap oluşturma, mevcut bir kitabı güncelleme ve bir kitabı silme dahil olmak üzere HTTP isteklerini işlemek için çeşitli yollar tanımlar.

Dockerfile Oluşturma

Dockerfile, bir Docker görüntüsünün nasıl oluşturulacağına dair belirli bir formatta yazılmış bir dizi talimat içeren bir dosyadır. Docker görüntüsü, uygulama kodu, çalışma zamanı, kütüphaneler ve sistem araçları gibi bir uygulamayı çalıştırmak için gereken her şeyi içeren bir konteynerin anlık görüntüsüdür.

Back4app Containers üzerinde bir Node.js uygulaması çalıştırmak için Docker görüntüsünü oluşturmaya yönelik talimatları içeren bir Dockerfile oluşturmanız gerekir.

Bir Dockerfile oluşturmak için aşağıdaki komutu çalıştırın:

touch Dockerfile

Ardından, Node.js uygulamanız için bir temel görüntü seçmeniz gerekir. Docker’daki bir temel görüntü, yeni bir Docker görüntüsü oluşturmak için başlangıç noktasıdır. Docker görüntünüzün üzerine inşa edildiği temeldir.

Temel görüntünüzü belirtmek için aşağıdaki kod bloğunu Dockerfile’ınıza ekleyin:

# Specify base image
FROM node:18-alpine

Bu satır, bu Docker görüntüsünün üzerine inşa edileceği temel görüntüyü belirtir. Bu durumda, Node.js 18 sürümü bir Alpine Linux dağıtımı üzerinde çalışmaktadır.

Ardından, çalışma dizininizi belirtmeniz gerekir. Dockerfile’daki sonraki tüm komutlar bu dizine göre yürütülecektir.

Çalışma dizininizi belirtmek için aşağıdaki kod bloğunu Dockerfile’ınıza ekleyin:

# Specify working directory
WORKDIR /app

Ardından, package.json ve package-lock.json dosyalarınızı geçerli dizinden (yani Dockerfile’ı içeren dizinden) çalışma dizinine(/app) kopyalamanız gerekir.

Dosyaları kopyalamak için aşağıdaki kod bloğunu Dockerfile’ınıza ekleyin:

# Copy package.json and package-lock.json
COPY package*.json ./

Ardından, package.json ve package-lock.json dosyalarında listelenen Node.js bağımlılıklarını yüklemek için çalışma dizininde npm install komutunu çalıştırmanız gerekir.

Bağımlılıkları yüklemek için aşağıdaki kodu Dockerfile’ınıza ekleyin:

# Install dependencies
RUN npm install

Yukarıdaki komut package.json **** ve package-lock.json dosyalarınızda listelenen tüm bağımlılıkları yükleyecek ve bunları belirtilen çalışma dizinindeki node_modules klasöründe saklayacaktır.

Ardından, uygulamanızın kaynak kodunu çalışma dizininize kopyalamanız gerekir.

Kaynak kodunu kopyalamak için aşağıdaki kod bloğunu Dockerfile’ınıza ekleyin:

# Copy source code
COPY . .

Ardından, ana makineye bir bağlantı noktası açmanız gerekir. Bir bağlantı noktasını açığa çıkarmak, Docker konteynerini çalıştırdığınızda açığa çıkan bağlantı noktasından gelen ağ bağlantılarını almasını sağlar.

Ana makineye 3000 numaralı bağlantı noktasını göstermek için aşağıdaki kod bloğunu Dockerfile’ınıza ekleyin:

# Expose port 3000
EXPOSE 3000

Son olarak, Docker konteyneri başladığında çalışması gereken komutu belirtmeniz gerekir. Genellikle Node.js uygulamaları npm start komutu kullanılarak başlatılır.

Komutu belirtmek için aşağıdaki kod bloğunu Dockerfile’ınıza ekleyin:

# Run the app
CMD ["npm", "start"]

Tamamlanmış Docker dosyanız aşağıdaki kod bloğu gibi görünmelidir:

# Specify base image
FROM node:18-alpine

# Specify working directory
WORKDIR /app

# Copy package.json and package-lock.json
COPY package*.json ./

# Install dependencies
RUN npm install

# Copy source code
COPY . .

# Expose port 3000
EXPOSE 3000

# Run the app
CMD ["npm", "start"]

Docker dosyanızı oluşturduktan sonra kodunuzu GitHub‘a gönderin.

Yeni bir Back4app Uygulaması Oluşturma

Back4app üzerinde bir Node.js uygulaması kurmanın ilk adımı Back4app üzerinde bir hesap oluşturmaktır (eğer bir hesabınız yoksa). Aşağıdaki adımları takip ederek bir hesap oluşturabilirsiniz.

  1. Back4app web sitesine gidin.
  2. Ardından, açılış sayfasının sağ üst köşesindeki Kaydol düğmesine tıklayın.
  3. Son olarak, kayıt formunu doldurun ve gönderin.

Back4app hesabınızı başarıyla oluşturduktan sonra, Back4app hesabınıza giriş yapın ve sağ üst köşedeki YENİ UYGULAMA düğmesine tıklayın.

Bu düğmeye tıkladığınızda “Yeni uygulamanızı nasıl oluşturmak istiyorsunuz?” seçeneğini belirleyeceğiniz bir sayfaya yönlendirileceksiniz. Kapsayıcı kullanarak dağıtım yaptığınız için, aşağıdaki resimde gösterildiği gibi Containers as a Service‘i seçin.

Back4app'te yeni bir uygulama oluşturun

Ardından, GitHub hesabınızı Back4app hesabınıza bağlayın. Back4app’e hesabınızdaki tüm depolara veya belirli depolara erişim vermeyi seçebilirsiniz.

Dağıtmak istediğiniz uygulamayı (bu durumda, bu eğitimde oluşturduğunuz uygulamayı) seçin ve Seç‘e tıklayın.

Dağıtmak için GitHub Deposunu Seçin

Seç düğmesine tıkladığınızda, uygulamanız hakkında ad, şube, kök dizin ve çevresel değişkenler gibi bazı bilgileri doldurmanız gereken bir sayfaya yönlendirileceksiniz.

back4app konteyneriniz için ayrıntılar

Uygulamanızın çalışması için gereken tüm çevresel değişkenleri doldurduğunuzdan emin olun. Gerekli ayrıntıları doldurduktan sonra, aşağıdaki resimde gösterildiği gibi Uygulama Oluştur‘a tıklayın.

Back4app kapsayıcıları bilgi sayfasını vurgulanmış bir uygulama oluştur düğmesiyle doldurur

Uygulama Oluştur düğmesine tıkladığınızda dağıtım işleminiz başlar. Dağıtım işlemi tamamlandığında, aşağıdaki resimde gösterildiği gibi, ekranın sol köşesinde dağıtılan uygulamanıza erişilebilecek bir URL belirtilecektir.

Back4app Containers Deployment sayfası.

Dağıtım işleminiz çok zaman alıyorsa, dağıtımda bir hata oluşup oluşmadığını görmek için günlükleri kontrol edebilir veya Back4app’ın sorun giderme kılavuzuna bakabilirsiniz.

Sonuç

Node.js, hızlı performansı, ölçeklenebilirliği ve esnekliği gibi birçok avantaj sunan popüler bir çerçevedir. Bununla birlikte, ağır iş yüklerinin üstesinden gelmeyi zorlaştırabilen tek iş parçacıklı yapısı gibi bazı sınırlamaları da vardır.

Bu sınırlamalara rağmen, Node.js uygulamalarını barındırmak ve yönetmek için güvenilir ve kullanıcı dostu bir platform sağlayan Back4app dahil olmak üzere Node.js uygulamaları için çeşitli dağıtım seçenekleri mevcuttur.

Bir Node.js uygulaması oluşturarak ve bu makalede özetlenen adımları izleyerek, Node.js uygulamalarınızı Back4app üzerinde kolayca dağıtabilir ve birçok avantajından yararlanabilirsiniz.

Hala Node.js dağıtımı ve barındırma ile ilgileniyor musunuz? Lütfen bu iki öğreticiyi kontrol edin:

SSS

Node.js Web Uygulaması Nasıl Dağıtılır?

– Geliştirme Ortamınızı Kurun
– Veritabanınıza Bağlanın
– Göç Dosyaları Oluşturun
– Yönlendirmeyi Uygulayın
– Bir Dockerfile Oluşturun
– Yeni bir Back4app Uygulaması Oluşturun


Leave a reply

Your email address will not be published.