मेरे पास एक Node.js / Express.js ऐप है जो मेरे सर्वर पर चल रहा है जो केवल पोर्ट 3000 पर काम करता है और मैं इसका पता लगाने की कोशिश कर रहा हूं। यहाँ मैं क्या पाया है:
- एक पोर्ट (
app.listen()
) निर्दिष्ट किए बिना , ऐप चलता है लेकिन वेब पेज लोड नहीं होता है। - पोर्ट 3001 (
app.listen(3001)
) या किसी अन्य पोर्ट पर जो उपयोग में नहीं है, ऐप चलता है लेकिन वेब पेज लोड नहीं होता है। - पोर्ट 2999 पर, ऐप एक त्रुटि फेंकता है क्योंकि कुछ और उस पोर्ट का उपयोग कर रहा है।
- पोर्ट 3000 पर, ऐप चलता है और वेब पेज ठीक लोड होता है।
मुझे पता है कि एक्सप्रेस ऐप्स डिफ़ॉल्ट रूप से 3000 पोर्ट करते हैं। लेकिन अजीब बात है, मेरा ऐप केवल तभी चलता है जब मैं इसे पोर्ट 3000 ( app.listen(3000)
) पर स्पष्ट रूप से चलाता हूं ।
मुझे यह लाइन 220 पर मिली /usr/bin/express
:
app.set(\'port\', process.env.PORT || 3000);
जो पहले बताए गए अनुसार कर रहा है: यदि निर्दिष्ट कुछ नहीं है तो पोर्ट को निर्दिष्ट या 3000 पर सेट करना।
मैं अपने ऐप को 8080 या 3001 जैसे अलग पोर्ट पर कैसे काम कर सकता हूं?
धन्यवाद!
संपादित करें: कोड नमूना (बहुत सरल नोड / एक्सप्रेस ऐप)
var express = require("express");
var app = express();
app.get('/', function(req, res){
res.send('hello world');
});
// Only works on 3000 regardless of what I set environment port to or how I set [value] in app.set('port', [value]).
app.listen(3000);
.listen()
। ऊपर जब मैं कहता हूं, "ऐप चलता है", यह वही है जो आप कह रहे हैं, "एप्लिकेशन चलाते समय कोई त्रुटि नहीं"। जब मैं कहता हूं, "वेब पेज लोड नहीं होता है", यह वही है जो आप कह रहे हैं, "एक ब्राउज़र से दुर्गम"। सभी एक ही मशीन (मेरा सर्वर) से एक्सेस करते हैं। प्रतिक्रिया के लिए धन्यवाद।
$ supervisor app.js
या $ PORT=[PORT] node app.js
जब मैं पर्यावरण पोर्ट चर सेट करना चाहता हूं। मैं एक कोड नमूना डालूँगा।
port
की आवश्यकता है.listen()
, इसलिए आपको बिना जाने की कोशिश नहीं करनी चाहिए। 2) क्या आपको एप्लिकेशन चलाते समय कोई त्रुटि हो रही है? या यह सिर्फ एक ब्राउज़र से दुर्गम लगता है? 3) यदि आप के साथ एक ही मशीन पर वेबसाइट का उपयोग करने का प्रयास कर रहेlocalhost:3000
,localhost:3001
आदि? यदि आप दो मशीनों, एक ग्राहक और एक सर्वर का उपयोग कर रहे हैं, तो आपको क्लाइंट से अनुरोध प्राप्त करने के लिए नोड को अनुमति देने के लिए सर्वर पर फ़ायरवॉल पर अपवाद जोड़ने की आवश्यकता होगी।