আমি কিভাবে একটি নোড.জেএস অ্যাপ্লিকেশনটিকে তার নিজস্ব প্রক্রিয়া হিসাবে চালাব?


194

নোড.জেএস মোতায়েন করার সর্বোত্তম উপায় কী?

আমার একটি ড্রিমহোস্ট ভিপিএস রয়েছে (এটি তারা ভিএম বলে ডাকে ) এবং আমি নোড.জেএস ইনস্টল করতে এবং একটি প্রক্সি স্থাপন করতে সক্ষম হয়েছি। আমি যতক্ষণ এসএসএইচ সংযোগটি খোলা রেখে নোড শুরু করেছি ততক্ষণ এটি দুর্দান্ত কাজ করে।


6
হুম, এটা আমার কাছে আশ্চর্যের মতো মনে হয় যে আপনি ফরএভারকে "ডিপ্লোয়িং নোড.জেএস" হিসাবে ডেকেছেন। এটি কি কেবল একটি প্রক্রিয়া পর্যবেক্ষণ / তদারকি সরঞ্জাম নয়? সাধারণত ওয়েব মোতায়েনের অর্থ (অন্তত আমি নিবন্ধগুলির মধ্যে কীসের মুখোমুখি হব) বেশ কয়েকটি আন্তঃসম্পর্কিত ক্রিয়াকলাপ যা কোনও ওয়েব অ্যাপ্লিকেশন উপলভ্য করে (এই প্রক্রিয়া সরঞ্জামটি এর একটি অংশ হিসাবে রয়েছে)। যাইহোক, স্ট্যাকওভারফ্লোতে এটি এখনও একটি দুর্দান্ত পোস্ট হিসাবে আমি প্রত্যেকের উত্তর থেকে শিখেছি।
মিকং

এটি কেবল ড্রিমহোস্টে নোড.জেএস-এর সহজতম স্থাপনা। লক্ষ্যটি ছিল সহজভাবে নোডটি তৈরির জন্য একটি প্রাথমিক পয়েন্ট হিসাবে নির্ভরযোগ্যভাবে চলমান।
শ্রদ্ধেস কোড 16

আপনি কীভাবে পোর্ট নোডে ডোমেনটি ফরোয়ার্ড পরিচালনা করছেন?
GRM

2
@ জিআরএম আমি এইচটিটিপি-প্রক্সি ব্যবহার করি github.com/nodejitsu/node-http- Proxy
आदरপরিচয় কোড

আমরা এখন ইলাস্টিক বিনস্টক ব্যবহার করছি এবং এটি বেশ সুন্দরভাবে কাজ করছে।
শ্রদ্ধাবাদ কোড

উত্তর:


106

২০১ answer এর উত্তর : প্রায় প্রতিটি লিনাক্স ডিস্ট্রিবিউশন সিস্টেমডের সাথে আসে, যার অর্থ চিরকাল, মনিট, পিএম 2 ইত্যাদির আর দরকার নেই - আপনার ওএস ইতিমধ্যে এই কাজগুলি পরিচালনা করে

একটি myapp.serviceফাইল তৈরি করুন (স্পষ্টতই আপনার অ্যাপের নামের সাথে 'myapp' প্রতিস্থাপন করুন):

[Unit]
Description=My app

[Service]
ExecStart=/var/www/myapp/app.js
Restart=always
User=nobody
# Note Debian/Ubuntu uses 'nogroup', RHEL/Fedora uses 'nobody'
Group=nobody
Environment=PATH=/usr/bin:/usr/local/bin
Environment=NODE_ENV=production
WorkingDirectory=/var/www/myapp

[Install]
WantedBy=multi-user.target

আপনি যদি ইউনিক্সে নতুন হন তবে দ্রষ্টব্য: খুব প্রথম লাইনে /var/www/myapp/app.jsথাকা উচিত #!/usr/bin/env node

আপনার পরিষেবা ফাইলটি /etc/systemd/systemফোল্ডারে অনুলিপি করুন ।

সিস্টেমডকে নতুন পরিষেবাটির সাথে বলুন systemctl daemon-reload

এটি দিয়ে শুরু করুন systemctl start myapp

এটি দিয়ে বুটে চালাতে সক্ষম করুন systemctl enable myapp

সঙ্গে লগ দেখুন journalctl -u myapp

লিনাক্স, 2018 সংস্করণে আমরা কীভাবে নোড অ্যাপ্লিকেশন স্থাপন করি তা থেকে নেওয়া হয়েছে , এতে লিনাক্স / নোড সার্ভারগুলি ( .serviceফাইল সহ ) তৈরি করার জন্য একটি ডাব্লুএস / ডিজিটাল ওশান / অ্যাজুরে ক্লাউডকনফিগ তৈরির আদেশও অন্তর্ভুক্ত রয়েছে ।


1
কীভাবে মোকাবেলা করতে হবে Failed to issue method call: Unit name ... is not valid.?
জুলিয়েন জেনেসটাক্স

1
@ জুলিয়েনজেনস্টাক্স 'ইউনিট' নামটি আপনার পরিষেবার মতো। মনে হচ্ছে সেখানে কোনও তাত্পর্য আছে। আপনি ফাইলটি অনুলিপি করার পরে আপনার /etc/systemd/systemচালনার প্রয়োজন হতে পারে systemctl daemon-reload(সিস্টেমড সাধারণত এটি প্রয়োজন হলে আপনাকে জানায়)। টিবিএইচ এটি একটি পৃথক প্রশ্ন হিসাবে সেরা জিজ্ঞাসা করা হয়।
মাইকমেকানা

3
এতে আপনার পরিষেবা ফাইলটি অনুলিপি করার পরিবর্তে /etc/systemd/systemআপনি কেবলমাত্র ব্যবহার করতে পারেন systemctl enable /full/path/to/myapp.serviceযা /etc/systemd/systemআপনার জন্য একটি সিমলিংক তৈরি করে ।
আর্ন

1
এটি কীভাবে pm2 এর সাথে তুলনা করে? এটি pm2 প্রতিস্থাপন করতে পারে বা pm2 আরও প্রয়োজনীয় বৈশিষ্ট্যগুলি সরবরাহ করে?
সের্গেই বাশারভ 18

1
@ VinodSrivastav নিজে থেকেই nodeডাকা হয় /var/www/myapp/app.js। ইউনিক্সে, আপনি যদি কোনও ফাইলকে নির্বাহযোগ্য করে তোলেন এবং #!/some/fileফাইলটির সাথে প্রথম লাইনটি শুরু হয় সেই বাইনারি দ্বারা ব্যাখ্যা করা হবে। আরও জানতে গুগল 'ইন্টারপ্রেটার ইউনিক্স'।
মাইকমেকানা

101

সর্বদা ব্যবহার করুন । এটি নোড.জেএস প্রোগ্রামগুলি পৃথক প্রক্রিয়াগুলিতে চালিত করে এবং যদি কোনও মারা যায় তবে সেগুলি পুনরায় চালু করে।

ব্যবহার:

  • forever start example.js একটি প্রক্রিয়া শুরু করতে।
  • forever list চিরকালের দ্বারা শুরু হওয়া সমস্ত প্রক্রিয়াগুলির তালিকা দেখতে
  • forever stop example.jsপ্রক্রিয়া বন্ধ করতে, বা forever stop 0সূচক 0 (যেমন দেখানো হয়েছে forever list) দিয়ে প্রক্রিয়া বন্ধ করতে ।

এটি কাছে। এটি ঠিক সূচিত হয় তবে আমাকে কিছু থামাতে দেবে না। আমি লগ আউট করতে এবং সক্ষম হয়েছি এবং নোড প্রক্রিয়াটি মেরে ফেললাম। চিরকাল এটি পুনরায় আরম্ভ করেনি। সুতরাং আমি কীভাবে এটি কাজ করে সে সম্পর্কে কিছু ভাবছি D
শ্রদ্ধাবাদ কোড

কেভিন, আপনি নোড প্রক্রিয়াটি মেরে ফেলতে পারবেন না কারণ চিরদিনের জন্য নিজেই নোডে চলে! কীভাবে একটি প্রক্রিয়া বন্ধ করতে হবে সহ আমি আমার উত্তরে কিছু ব্যবহারের নির্দেশাবলী যুক্ত করেছি। আমি এটি আমার ভিপিএসে ব্যবহার করছি এবং এটি একটি কবজির মতো কাজ করেছে।
ডেভিড টাং

forever stop 0একটি ত্রুটি ছিল এবং জিনিসগুলি ধরণের থেকে সেখান থেকে পৃথক হয়ে পড়ে। আমি এটির নিজের ব্যবহারকারীর উপরে রুট ছাড়াই এটি করার চেষ্টা করছি যাতে সঠিক সমাধানটি খুঁজে পাওয়ার পরে আমি সহজেই পরিষ্কার করতে পারি। আমার সমস্যা হতে পারে। আমি আরও কিছু এটি দেখতে হবে।
শ্রদ্ধাবাদ কোড

এনপিএম নিয়ে আমার কিছু সমস্যা ছিল যা সমস্যার সৃষ্টি করছিল। এনপিএম এবং নোড সহ সঠিকভাবে ইনস্টল করা চিরকালের জন্য দুর্দান্ত কাজ করে। আমি যা করে শেষ করেছি তা হল পুনরায় চালু হওয়ার জন্য ক্রোনজব সেটে চিরতরে শুরু আদেশগুলি যুক্ত করা। আমি এখন একটি সামান্য নোড অ্যাপ্লিকেশন নিয়ে কাজ করছি যা আমাকে চিরকালের জন্য শুরু করতে এবং থামাতে দেবে।
শ্রদ্ধাবাদ কোড


41

আমি আমার স্থাপনার পদ্ধতি সম্পর্কে এখানে লিখেছি: নোড.জেএস অ্যাপস স্থাপন করা lo

সংক্ষেপে:

  • গিট পোস্ট-রিসিভ হুক ব্যবহার করুন
  • বিল্ড টুলের জন্য জ্যাক
  • নোডের জন্য পরিষেবা র‌্যাপার হিসাবে আপস্টার্ট করুন
  • তারা নীচে যায় অ্যাপ্লিকেশনগুলি নিরীক্ষণ এবং পুনঃসূচনা করতে মনিট করুন
  • nginx একই সার্ভারে বিভিন্ন অ্যাপ্লিকেশনগুলিতে অনুরোধ রুট করতে

2
আমার সার্ভারে যদি সর্বদা আমার একটি একক নোড সাইট থাকে তবে আমি কি নিরাপদে Nginx খনন করতে পারি?
ডোর

3
লিঙ্কটি নষ্ট হয়ে গেছে বলে মনে হচ্ছে
প্রচুর প্রচলিত

@ ডোর আমি জানি এটি একটি দেরী উত্তর, কিন্তু আমি তা করব না। এসএসএল সমাপ্তি এবং ক্যাশিংয়ের মতো জিনিসগুলি বাদ দিয়ে হোস্টের সামনে একটি এনগিনেক্স বিপরীত প্রক্সি আপনাকে সরাসরি 80 বন্দরটিতে নোড চালানোর চেয়ে বৃহত্তর অবকাঠামোগত নমনীয়তা দেয় It এর অর্থ এটিও আপনাকে রুট হিসাবে নোড চালাতে হবে না, যা আমার মনে হয় এনগিনেক্স সেটআপের পক্ষে খুব ভারী তর্ক।
ক্রিস ব্রাউন

16

pm2 কৌশলগুলি করে।

বৈশিষ্ট্যগুলি হ'ল: মনিটরিং, হট কোড রিলোড, বিল্ট-ইন লোড ব্যালেন্সার, স্বয়ংক্রিয় স্টার্টআপ স্ক্রিপ্ট এবং পুনরুত্থান / ডাম্প প্রক্রিয়া processes


এটি কি হেরোকুর মতো পরিষেবার সাথে সামঞ্জস্যপূর্ণ?
এফআরডি

@ এফআরডি আমার মনে হয় না এটি হিরকুর সাথে কাজ করে, এই নিবন্ধটি দেখুন
নিক্লিফ্লাই

9

আপনি ব্যবহার করতে পারেন monit, forever, upstartবা systemdআপনার সার্ভারের শুরু।

আপনি Nginx এর পরিবর্তে বার্নিশ বা HAProxy ব্যবহার করতে পারেন (এনগিনক্স ওয়েবসকেটগুলির সাথে কাজ না করার জন্য পরিচিত।

দ্রুত এবং নোংরা সমাধান হিসাবে আপনি nohup node your_app.js &আপনার অ্যাপ্লিকেশনটিকে আপনার সার্ভারের সাথে শেষ হওয়া রোধ করতে ব্যবহার করতে পারেন তবে forever, monitএবং অন্যান্য প্রস্তাবিত সমাধানগুলি আরও ভাল।


2
একজন ব্যবহারকারী "সের্গেই ইয়ারটস্কি" আপনাকে পোস্ট করে এডিট করার চেষ্টা করেছিল যে এনগিনেক্স এখন ওয়েবসকেটকে সমর্থন করে (সংস্করণ 1.3 থেকে)। আমি সম্পাদনাটিকে প্রত্যাখ্যান করেছি কারণ আমি মনে করি পরিবর্তে এটি একটি মন্তব্য হিসাবে পোস্ট করা উচিত। (অন্যথায় আপনার একই পোস্টে দুটি বিবাদমূলক বাক্য থাকতে হবে, যা বিভ্রান্তিকর।)
ব্যাকলিন

7

আমি বর্তমানে আমার অ্যাপ্লিকেশনের জন্য একটি আপস্টার্ট স্ক্রিপ্ট তৈরি করেছি:

description "YOUR APP NAME"
author "Capy - http://ecapy.com"

env LOG_FILE=/var/log/node/miapp.log
env APP_DIR=/var/node/miapp
env APP=app.js
env PID_NAME=miapp.pid
env USER=www-data
env GROUP=www-data
env POST_START_MESSAGE_TO_LOG="miapp HAS BEEN STARTED."
env NODE_BIN=/usr/local/bin/node
env PID_PATH=/var/opt/node/run
env SERVER_ENV="production"

######################################################

start on runlevel [2345]
stop on runlevel [016]

respawn
respawn limit 99 5

pre-start script
    mkdir -p $PID_PATH
    mkdir -p /var/log/node
end script

script
    export NODE_ENV=$SERVER_ENV
    exec start-stop-daemon --start --chuid $USER:$GROUP --make-pidfile --pidfile $PID_PATH/$PID_NAME --chdir $APP_DIR --exec $NODE_BIN -- $APP >> $LOG_FILE 2>&1
end script

post-start script
    echo $POST_START_MESSAGE_TO_LOG >> $LOG_FILE
end script

########## এর আগে সমস্ত কাস্টমাইজ করুন, /etc/init/your-service.conf এ একটি ফাইল তৈরি করুন এবং সেখানে এটি আটকে দিন।

তারপর তুমি পারো:

start your-service
stop your-service
restart your-service
status your-service

আপনাকে ধন্যবাদ, আমার যা প্রয়োজন ছিল।
নীলসন মোরেইস

6

আমি উদাহরণস্বরূপ ফাইল সহ নোড.জেএস মোতায়েন করার জন্য একটি দুর্দান্ত বিস্তৃত গাইড লিখেছি:

টিউটোরিয়াল: উদাহরণ সহ নোড.জেএস অ্যাপ্লিকেশন কীভাবে স্থাপন করবেন

এটিতে http- প্রক্সি, এসএসএল এবং সকেট.আইওর মতো বিষয় রয়েছে ।


এটি দুর্দান্ত দেখাচ্ছে। আমি বিকাশ এবং প্রাথমিক প্রবর্তনের জন্য হিরকু ব্যবহার করছি তবে শেষ পর্যন্ত অতীত হেরকু স্কেল করতে হবে এবং সরাসরি ইসি 2 তে স্থাপন করা দরকার। সময় পেলে আমি এই নিয়ে খেলব।
শ্রদ্ধাবাদ কোড

5

এখানে systemd হল এই সমস্যা সমাধানের উপর একটি লম্বা নিবন্ধ আছে: http://savanne.be/articles/deploying-node-js-with-systemd/

কিছু বিষয় মনে রাখতে হবে:

  • কে আপনার প্রক্রিয়া পর্যবেক্ষণ শুরু করবে? চিরকাল একটি দুর্দান্ত সরঞ্জাম, তবে নিজেকে চালিত রাখতে এটি পর্যবেক্ষণের সরঞ্জামের প্রয়োজন। এটি কিছুটা নির্বোধ, কেন কেবল আপনার ডিআইডি সিস্টেমটি ব্যবহার করবেন না?
  • আপনি কি আপনার প্রক্রিয়াগুলি পর্যাপ্তরূপে পর্যবেক্ষণ করতে পারেন?
  • আপনি কি একাধিক ব্যাকএন্ড চালাচ্ছেন? যদি তা হয় তবে সংস্থান ব্যবহারের ক্ষেত্রে এগুলির কোনওটি অন্যকে নামিয়ে আনতে বাধা দেওয়ার জন্য আপনার কাছে কি ব্যবস্থা আছে?
  • পরিষেবাটি কি সর্বদা প্রয়োজন হবে? যদি তা না হয় তবে সকেট অ্যাক্টিভেশন বিবেচনা করুন (নিবন্ধটি দেখুন)।

এই সমস্ত কিছু সহজেই সিস্টেমড দিয়ে সম্পন্ন হয়।


5

আপনার যদি রুট অ্যাক্সেস থাকে তবে আপনি ডেমোনটি আরও ভালভাবে সেট আপ করতে পারেন যাতে এটি ব্যাকগ্রাউন্ডে সুরক্ষিত এবং সুরক্ষিত হয়। আপনি ঠিক যে জন্য কি কিভাবে পড়তে পারেন ডেবিয়ান এবং উবুন্টু ব্লগ পোস্টে উবুন্টুর উপর চালান Node.js একটি পরিষেবা


আমি মনে করি না যে আমার মূল রয়েছে তবে এটি কেবল ওয়েব প্যানেলে সক্ষম করতে হবে। আমি এই একটি শট দিতে হবে।
শ্রদ্ধাবাদ কোড

3

চিরকাল কৌশলটি করবে।

@ কেভিন: আপনার প্রক্রিয়া ভালভাবে কাটাতে সক্ষম হওয়া উচিত। আমি ডকুমেন্টেশন কিছুটা চেক করব। আপনি যদি ত্রুটিটি পুনরুত্পাদন করতে পারেন তবে এটি গিটহাবের সমস্যা হিসাবে পোস্ট করা দুর্দান্ত।


কেভিন কে? ওপি?
পিটার মর্টেনসেন

2

এটি ব্যবহার করে দেখুন: http://www.technology-ebay.de/the-teams/mobile-de/blog/deploying-node-applications-with-capistrano-github-nginx-and-upstart.html

ক্যাপিস্ট্রানো, আপস্টার্ট এবং এনগিনেক্সের সাথে নোড.জেএস অ্যাপস স্থাপনের জন্য একটি দুর্দান্ত এবং বিস্তারিত গাইড and


2

যেমন বক্স 9 বলেছে, প্রোভারাকশন কোডের জন্য ফরএভার একটি ভাল পছন্দ। তবে এসএসএইচ হলেও একটি প্রক্রিয়া চালিয়ে যাওয়াও সম্ভব ক্লায়েন্টের কাছ থেকে সংযোগ বন্ধ ।

উত্পাদনের জন্য অগত্যা কোনও ভাল ধারণা না থাকা সত্ত্বেও, লম্বা ডিবাগ সেশনগুলির মাঝামাঝি সময়ে, বা দীর্ঘ প্রক্রিয়াগুলির কনসোল আউটপুটটি অনুসরণ করার জন্য, বা যখনই আপনার এসএসএইচ সংযোগ বিচ্ছিন্ন করার জন্য দরকারী, তবে সার্ভারে টার্মিনালটি জীবিত রাখুন এটি খুব কার্যকর is পরে পুনরায় সংযোগ স্থাপন করতে (যেমন ঘরে নোড.জেএস অ্যাপ্লিকেশন শুরু করা এবং কাজগুলি কীভাবে চলছে তা পরীক্ষা করার জন্য পরে কাজ করে কনসোলটিতে পুনরায় সংযোগ স্থাপন করা)

আপনার সার্ভারটি একটি * নিক্স বাক্স হিসাবে ধরে নেওয়া, ক্লায়েন্ট এসএসএইচ বন্ধ থাকলেও প্রক্রিয়াটি চালিয়ে যেতে আপনি শেল থেকে স্ক্রিন কমান্ডটি ব্যবহার করতে পারেন । ইতিমধ্যে ইনস্টল না থাকলে আপনি ওয়েব থেকে স্ক্রিন ডাউনলোড / ইনস্টল করতে পারেন (লিনাক্স যদি আপনার বিতরণের জন্য প্যাকেজ দেখুন বা ম্যাকপোর্টস ব্যবহার করুন) ওএস এক্স হলে )।

এটি নিম্নলিখিত হিসাবে কাজ করে:

  1. আপনি যখন প্রথম এসএসএইচ সংযোগটি খুলবেন, তখন 'স্ক্রিন' টাইপ করুন - এটি আপনার স্ক্রিন সেশনটি শুরু করবে।
  2. স্বাভাবিক হিসাবে কাজ শুরু করুন (যেমন আপনার Node.js অ্যাপ্লিকেশন শুরু করুন)
  3. আপনার কাজ শেষ হয়ে গেলে, আপনার টার্মিনালটি বন্ধ করুন। আপনার সার্ভার প্রক্রিয়া (এস) চলমান থাকবে।
  4. আপনার কনসোলটিতে পুনরায় সংযোগ করতে, সার্ভারে ফিরে এসএসএস করুন, লগইন করুন এবং পুনরায় সংযোগ করতে 'স্ক্রিন-আর' প্রবেশ করুন। আপনার পুরানো কনসোল প্রসঙ্গটি এটি ব্যবহার শুরু করার জন্য আপনাকে প্রস্তুত পপ করবে।
  5. স্ক্রিনের সাথে প্রস্থান করার জন্য, সার্ভারের সাথে সংযুক্ত থাকাকালীন কনসোল প্রম্পটে 'প্রস্থান' টাইপ করুন - যা আপনাকে নিয়মিত শেলের উপর ফেলে দেবে।

আপনার প্রয়োজনে একসাথে একাধিক স্ক্রিন সেশন চলতে পারে এবং আপনি যে কোনও ক্লায়েন্টের সাথে এটির সাথে সংযুক্ত করতে পারেন। সমস্ত বিকল্পের জন্য ডকুমেন্টেশন অনলাইনে পড়ুন।


ভাল তথ্য আছে। আমি সম্মত হই যে এটি উত্পাদনের জন্য কাজ করবে না তবে দূরবর্তী সার্ভারে ডিবাগ করার সময় এটি খুব কার্যকর হতে পারে।
শ্রদ্ধাবাদ কোড

কেন কেবল নোহপ নোড ব্যবহার করবেন না myapp.js & 2> /var/log/myapp.log 1> / দেব / নাল
মার্কাস_পি

আমি এই AV দরকারী পাওয়া youtube.com/watch?v=P4mT5Tbx_KE ব্যাখ্যা nohupএবংforever
বিনোদ Srivastav

1

অ্যাপ্লিকেশনগুলি চলমান রাখতে সর্বদা একটি ভাল বিকল্প (এবং এটি মডিউল হিসাবে এটি এনপিএম ইনস্টলযোগ্য যা দুর্দান্ত)।

তবে আরও গুরুতর 'ডিপ্লোয়মেন্ট'-এর জন্য যেমন মোতায়েন করা, পুনরায় চালু করা, কমান্ড চালানো ইত্যাদির দূরবর্তী পরিচালনা - আমি নোড এক্সটেনশান সহ ক্যাপিস্ট্রানো ব্যবহার করব।

https://github.com/loopj/capistrano-node-deploy


1

https://paastor.com একটি অপেক্ষাকৃত নতুন পরিষেবা যা আপনার জন্য কোনও ভিপিএস বা অন্য সার্ভারে মোতায়েন করে। কোড পুশ করার জন্য একটি সিএলআই রয়েছে। যাজক একটি বিনামূল্যে স্তর আছে, কমপক্ষে এটি পোস্ট করার সময় এটি ছিল।


1

আপনার ক্ষেত্রে আপনি আপস্টার্ট ডিমন ব্যবহার করতে পারেন । সম্পূর্ণ স্থাপনার সমাধানের জন্য, আমি ক্যাপিস্ট্রানো পরামর্শ দিতে পারি । দুটি দরকারী গাইড হ'ল নোড.জেএস এনভি এবং কীভাবে ক্যাপিস্ট্রানো + আপস্টার্টের মাধ্যমে স্থাপন করবেন কীভাবে সেটআপ করবেন


শেষ দু'জনের ডেড লিঙ্কগুলি
প্যাট

1

নোড-মোতায়েন-সার্ভার চেষ্টা করুন । আপনার ব্যক্তিগত সার্ভারে অ্যাপ্লিকেশন স্থাপনের জন্য এটি একটি জটিল টুলসেট। এটি নোড.জেএস-এ লেখা এবং ইনস্টলেশনের জন্য এনপিএম ব্যবহার করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.