Express.js Uygulamasını Nginx ile Yayına Alma

Express.js Uygulamasını Nginx ile Yayına Alma


Web uygulamaları geliştirmek, birçok geliştirici için hem eğlenceli hem de zorlu bir süreçtir. JavaScript tabanlı bir framework olan Express.js, Node.js üzerinde performanslı ve ölçeklenebilir web uygulamaları oluşturmayı sağlar. Ancak, bu uygulamaları internet üzerinde yayına almak için genellikle bir web sunucusuna ihtiyaç duyarız. İşte burada Nginx devreye girer.

Nginx, yüksek performanslı bir web sunucusu olarak, statik dosyaları daha hızlı sunma kapasitesine sahiptir ve aynı zamanda proxy sunucusu olarak da kullanabilir. Bu makalede, basit bir Express.js uygulamasını nasıl Nginx ile yayına alabileceğimizi adım adım inceleyeceğiz.

Adım 1: Express.js Uygulamasını Oluşturma

Öncelikle, bir Express.js uygulaması oluşturalım. Aşağıdaki komutları kullanarak yeni bir proje başlatabilirsiniz:

mkdir my-express-app
cd my-express-app
npm init -y
npm install express

Ardından, basit bir sunucu oluşturun. "index.js" adında bir dosya oluşturup aşağıdaki kodları ekleyin:

const express = require('express');
const app = express();
const PORT = process.env.PORT || 3000;

app.get('/', (req, res) => {
  res.send('Merhaba, Express.js Uygulamam!');
});

app.listen(PORT, () => {
  console.log(`Sunucu ${PORT} üzerinde çalışıyor`);
});

Adım 2: Uygulamayı Yayına Alma

Nginx Kurulumu

Uygulamamızı yayına almak için ilk önce Nginx'i kurmalıyız. Debian ve Ubuntu üzerinde Nginx'i kurmak için şu komutu kullanabilirsiniz:

sudo apt update
sudo apt install nginx

Nginx Konfigürasyonu

Nginx yüklendikten sonra, yapılandırma dosyasını düzenleyerek Express.js uygulamanıza yönlendirme yapmalısınız. Aşağıdaki komutla Nginx'in yapılandırma dosyasını açın:

sudo nano /etc/nginx/sites-available/my-express-app

Dosyaya aşağıdaki yapılandırmayı ekleyin:

server {
    listen 80;
    server_name your_domain.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Yapılandırma dosyasını kaydedip kapattıktan sonra, Nginx'i yeniden başlatın:

sudo systemctl restart nginx

Sonuç

Artık basit bir Express.js uygulamanızı Nginx ile yayına almış oldunuz. Uygulamayı tarayıcınızda http://your_domain.com adresine giderek görüntüleyebilirsiniz. Nginx sayesinde uygulamanız güvenli ve ölçeklenebilir bir hale gelirken, Express.js kullanımının kolaylığından da faydalanmış olursunuz. Ayrıca, bu yapı ile gelecekte uygulamanızı üst seviyelere taşımak için gerekli temeli sağlamış olursunuz.

Umarım bu makale, Nginx ile Express.js uygulamanızı yayına alma konusunda size yardımcı olmuştur. Herhangi bir sorunuz olursa yorumlarda belirtebilirsiniz!