मैं nginx को कॉन्फ़िगर करने का प्रयास कर रहा हूं, इसलिए यह proxy_pass
मेरे नोड ऐप्स से अनुरोध करता है। StackOverflow पर सवाल कई अपवोट मिले: /programming/5009324/node-js-nginx-and-now और मैं वहाँ से config का उपयोग कर रहा हूँ।
(लेकिन सवाल सर्वर कॉन्फ़िगरेशन के बारे में है क्योंकि यह सर्वरफॉल्ट पर होना चाहिए)
यहाँ nginx विन्यास है:
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;
}
}
सादे नोड का उपयोग करना:
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/');
यह काम करता हैं! जाँच करें: http://services.stefanow.net/test-http
एक्सप्रेस का उपयोग:
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/');
यह काम नहीं करता है :( देखें: http://services.stefanow.net/test-express
मुझे पता है कि कुछ चल रहा है।
a) परीक्षण-एक्सप्रेस नहीं चल रहा है
b) टेक्स्ट-एक्सप्रेस चल रहा है
(और मैं पुष्टि कर सकता हूँ कि यह कमांड लाइन के माध्यम से चल रहा है, जबकि सर्वर पर ssh)
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
मैंने यहाँ वर्णन के अनुसार हेडर सेट करने की कोशिश की: http://www.nginxtips.com/how-to-setup-nginx-as-proxy-for-nodejs/ (अभी भी काम नहीं करता है)
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;
मैंने 'लोकलहोस्ट' के साथ '127.0.0.1' को बदलने की कोशिश की और इसके विपरीत
कृपया सलाह दें। मुझे पूरा यकीन है कि मुझे कुछ स्पष्ट विवरण याद है और मैं और अधिक सीखना चाहूंगा। धन्यवाद।
forever
या pm2
जो इसे चलाता है, तो nginx
बस इसके लिए प्रॉक्सी करता है?
nginx
त्रुटि लॉग में कोई लॉग ?