Nginx Node.js - şimdi Ne olacak?
Node.js kurdum ve benim sunucuda Nginx. Şimdi kullanmak istiyorum, ama ben başlamadan önce 2 soru var:
- Nasıl birlikte çalışabiliriz? Nasıl istekleri işlemek gerekir?
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
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.
've ben bir istisna yakalandı!! Ş...
Sadece Apache/Node.js kullanma vs kull...
kendisi veya statik dosyaları hizmet i...
Yapma git "unut" izlenen ama...
Nasıl node.js uygulama hata ayıklama...