SORU
15 ŞUBAT 2011, Salı


Nginx Node.js - şimdi Ne olacak?

Node.js kurdum ve benim sunucuda Nginx. Şimdi kullanmak istiyorum, ama ben başlamadan önce 2 soru var:

  1. Nasıl birlikte çalışabiliriz? Nasıl istekleri işlemek gerekir?
  2. Bir daha iyidir Node.js bir sunucu, 2 kavram vardır:

    bir. Gereken her web sitesi için ayrı bir HTTP Sunucusu oluşturun. Daha sonra program başlangıcında tüm JavaScript kodu yükle, kod bir kez yorumlanır.

    b. Tüm node.js istekleri işleyen tek bir node.js sunucu oluşturun. Bu istenen dosyaları okur ve içeriklerini değerlendirmeler. Dosyaları her istek üzerine yorumlanır ama server mantığı çok daha kolaydır.

Node.js doğru kullanmak için nasıl benim için açık değil.

CEVAP
16 ŞUBAT 2011, ÇARŞAMBA


Nginx bu durumda node.js bir sunucuya istekleri vekiller hangi bir ön uç sunucusu olarak çalışır. Bu nedenle düğüm için nginx yapılandırma dosyası Kur.

Bu Ubuntu kutumda yaptığım şey

Dosya 7* */etc/nginx/sites-available/ oluşturun:

vim /etc/nginx/sites-available/yourdomain

Bunun gibi bir şey olmalıdır:

# the IP(s) on which your node server is running. I chose port 3000.
upstream app_yourdomain {
    server 127.0.0.1:3000;
    keepalive 8;
}

# the nginx server instance
server {
    listen 0.0.0.0:80;
    server_name yourdomain.com yourdomain;
    access_log /var/log/nginx/yourdomain.log;

    # pass the request to the node.js server with the correct headers
    # and much more can be added, see nginx config options
    location / {
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $http_host;
      proxy_set_header X-NginX-Proxy true;

      proxy_pass http://app_yourdomain/;
      proxy_redirect off;
    }
 }

İstediğiniz nginx (>= 1.3.13) websocket gibi istekleri işlemek için, location / bölümüne aşağıdaki satırları ekleyin

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

Site yapılandırma dosyasında tanımlanan yukarıdaki etkinleştirmeniz gerekir bu kurulum var bir kez

cd /etc/nginx/sites-enabled/ 
ln -s /etc/nginx/sites-available/yourdomain yourdomain

/var/www/yourdomain/app.js düğüm sunucu uygulaması oluşturmak ve localhost:3000 koşayım

var http = require('http');

http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');
}).listen(3000, "127.0.0.1");
console.log('Server running at http://127.0.0.1:3000/');

Nginx Restart:

sudo /etc/init.d/nginx restart

Son olarak sunucu düğümünü

cd /var/www/yourdomain/ && node app.js

Şimdi görsen "Merhaba" de yourdomain.com . Dünya

Düğüm sunucu ile ilgili son bir not: düğüm daemon izleme sistemi Bir tür kullanmanız gerekir. tutorial on node with upstart and monit bir harika.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Alexander Johnson

    Alexander Jo

    26 Temmuz 2008
  • Gee Cee

    Gee Cee

    1 AĞUSTOS 2009
  • RogerBuckChrist

    RogerBuckChr

    9 Temmuz 2011