আমার সার্ভারে একটি নোড.জেএস / এক্সপ্রেস.জেএস অ্যাপ চলছে যা কেবলমাত্র 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);
port
দ্বারা প্রয়োজনীয়.listen()
, সুতরাং আপনার ছাড়া চেষ্টা করা উচিত নয়। 2) অ্যাপ্লিকেশনটি চালানোর সময় আপনি কোনও ত্রুটি পেয়েছেন? বা এটি কি ব্রাউজার থেকে কেবল অ্যাক্সেস অযোগ্য বলে মনে হচ্ছে? 3) আপনার সাথে একই মেশিনে ওয়েবসাইট অ্যাক্সেস করার চেষ্টা করছেনlocalhost:3000
,localhost:3001
ইত্যাদি? আপনি যদি দুটি মেশিন, একটি ক্লায়েন্ট এবং একটি সার্ভার ব্যবহার করছেন তবে নোডকে ক্লায়েন্টের কাছ থেকে অনুরোধগুলি গ্রহণের অনুমতি দেওয়ার জন্য আপনাকে সার্ভারের ফায়ারওয়ালটিতে ব্যতিক্রম যুক্ত করতে হবে।