proxy_pass
Düğüm uygulamaları için istekleri böylece nginx yapılandırmaya çalışıyorum . StackOverflow ile ilgili pek çok oy var: /programming/5009324/node-js-nginx-and-now ve oradan config kullanıyorum.
(ancak soru sunucu yapılandırmasıyla ilgili olduğu için ServerFault'ta olması gerekir)
İşte nginx yapılandırması:
server {
listen 80;
listen [::]:80;
root /var/www/services.stefanow.net/public_html;
index index.html index.htm;
server_name services.stefanow.net;
location / {
try_files $uri $uri/ =404;
}
location /test-express {
proxy_pass http://127.0.0.1:3002;
}
location /test-http {
proxy_pass http://127.0.0.1:3003;
}
}
Düz düğümü kullanma:
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(3003, '127.0.0.1');
console.log('Server running at http://127.0.0.1:3003/');
İşe yarıyor! Kontrol edin: http://services.stefanow.net/test-http
Ekspres kullanarak:
var express = require('express');
var app = express(); //
app.get('/', function(req, res) {
res.redirect('/index.html');
});
app.get('/index.html', function(req, res) {
res.send("blah blah index.html");
});
app.listen(3002, "127.0.0.1");
console.log('Server running at http://127.0.0.1:3002/');
Çalışmıyor :( Bkz: http://services.stefanow.net/test-express
Bir şeylerin olduğunu biliyorum.
a) test-express çalışmıyor
b) metin-ifade çalışıyor
(ve sunucuda ssh iken komut satırı üzerinden çalıştığını doğrulayabilirim)
root@stefanow:~# service nginx restart
* Restarting nginx nginx [ OK ]
root@stefanow:~# curl localhost:3002
Moved Temporarily. Redirecting to /index.html
root@stefanow:~# curl localhost:3002/index.html
blah blah index.html
Üstbilgileri burada açıklandığı gibi ayarlamayı denedim: http://www.nginxtips.com/how-to-setup-nginx-as-proxy-for-nodejs/ (hala çalışmıyor)
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;
Ayrıca '127.0.0.1'i' localhost 'ile değiştirmeyi denedim ya da tam tersi
Tavsiye lütfen. Kesin bazı ayrıntıları kaçırdığımdan eminim ve daha fazla bilgi edinmek istiyorum. Teşekkür ederim.
forever
ya pm2
da çalıştıran ayrı bir sürecin nginx
olması gerekiyor mu , o zaman sadece vekiller?
nginx
hata günlüğü var mı?