প্রোডাকশন সার্ভারে Node.js অ্যাপ্লিকেশন চালানোর জন্য কীভাবে PM2 ইনস্টল করবেন


পিএম 2 হ'ল বিল্ট-ইন লোড ব্যালেন্সার সহ নোড.জেএস এর জন্য একটি মুক্ত ওপেন সোর্স, উন্নত, দক্ষ এবং ক্রস-প্ল্যাটফর্ম উত্পাদন-স্তর প্রক্রিয়া পরিচালক। এটি লিনাক্স, ম্যাকোএসের পাশাপাশি উইন্ডোজেও কাজ করে। এটি অ্যাপ মনিটরিং, মাইক্রো পরিষেবা/প্রক্রিয়াগুলির দক্ষ পরিচালনা, ক্লাস্টার মোডে চলমান অ্যাপ্লিকেশনগুলি, গ্রেফিস স্টার্ট এবং অ্যাপ্লিকেশনগুলির শাটডাউন সমর্থন করে।

এটি আপনার অ্যাপ্লিকেশনগুলিকে স্বয়ংক্রিয় পুনঃসূচনাগুলির সাথে "চিরকাল জীবিত" রাখে এবং সিস্টেম বুট-এ শুরু করতে সক্ষম হতে পারে, সুতরাং উচ্চ উপলভ্যতা (এইচএ) কনফিগারেশন বা আর্কিটেকচারের অনুমতি দেয়।

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

এছাড়াও, এটি কোনও কোড পরিবর্তনের প্রয়োজন ছাড়াই এক্সপ্রেস, অ্যাডোনিস জেস, সেলস, হাপি এবং আরও অনেক বড় নোড.জেএস ফ্রেমওয়ার্কের জন্য অবিশ্বাস্য সমর্থন রয়েছে has আইএমএম, মাইক্রোসফ্ট, পেপাল এবং আরও অনেক কিছু সংস্থাগুলি দ্বারা পিএম 2 ব্যবহার করা হচ্ছে।

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

পদক্ষেপ 1: লিনাক্সে নোডেজ এবং এনপিএম ইনস্টল করুন

১. নোড.জেএস এবং এনপিএমের সাম্প্রতিকতম সংস্করণ ইনস্টল করার জন্য প্রথমে আপনাকে আপনার লিনাক্স বিতরণের অধীনে অফিসিয়াল নোডোসোর্স রিপোজিটরি সক্ষম করতে হবে এবং তারপরে দেখানো হয়েছে এমনভাবে নোড.জেএস এবং এনপিএম প্যাকেজ ইনস্টল করতে হবে।

---------- Install Node.js v11.x ---------- 
$ curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -
$ sudo apt-get install -y nodejs

---------- Install Node.js v10.x ----------
$ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
$ sudo apt-get install -y nodejs
---------- Install Node.js v11.x ---------- 
$ curl -sL https://rpm.nodesource.com/setup_11.x | bash -

---------- Install Node.js v10.x ----------
$ curl -sL https://rpm.nodesource.com/setup_10.x | bash -

পদক্ষেপ 2: একটি নোডেজ অ্যাপ্লিকেশন তৈরি করুন

২. এখন আসুন একটি পরীক্ষামূলক অ্যাপ্লিকেশন তৈরি করা যাক (আমরা ধরে নিব এটির ক্লায়েন্ট এবং অ্যাডমিন দিক রয়েছে যা একই ডেটাবেস ভাগ করে নেবে), মাইক্রোসার্ভেসগুলি যথাক্রমে 3000 এবং 3001 বন্দরগুলিতে চলবে।

$ sudo mkdir -p /var/www/html/app
$ sudo mkdir -p /var/www/html/adminside
$ sudo vim /var/www/html/app/server.js
$ sudo vim /var/www/html/adminside/server.js

এরপরে সার্ভার.জেএস ফাইলগুলিতে নিম্নলিখিত কোডের টুকরোগুলি অনুলিপি করুন এবং আটকান (আপনার সার্ভার আইপি দিয়ে 192.168.43.31 প্রতিস্থাপন করুন)।

##mainapp code
const http = require('http');

const hostname = '192.168.43.31';
const port = 3000;

const server = http.createServer((req, res) => {
	res.statusCode = 200;
  	res.setHeader('Content-Type', 'text/plain');
  	res.end('This is the Main App!\n');
});

server.listen(port, hostname, () => {
  	console.log(`Server running at http://${hostname}:${port}/`);
});
##adminside code
const http = require('http');

const hostname = '192.168.43.31';
const port = 3001;

const server = http.createServer((req, res) => {
	res.statusCode = 200;
  	res.setHeader('Content-Type', 'text/plain');
  	res.end('This is the Admin Side!\n');
});

server.listen(port, hostname, () => {
  	console.log(`Server running at http://${hostname}:${port}/`);
});

ফাইল এবং সংরক্ষণ করে প্রস্থান করুন।

পদক্ষেপ 3: লিনাক্সে পিএম 2 পণ্য প্রক্রিয়া পরিচালক ইনস্টল করুন

৩. পিএম 2 এর সর্বশেষতম স্থিতিশীল সংস্করণটি এনপিএমের মাধ্যমে ইনস্টল করার জন্য প্রদর্শিত আছে।

$ sudo npm i -g pm2 

৪. পিএম 2 ইনস্টল হয়ে গেলে, আপনি নিম্নলিখিত কমান্ডগুলি ব্যবহার করে আপনার নোড অ্যাপ্লিকেশনগুলি শুরু করতে পারেন।

$ sudo node /var/www/html/app/server.js
$ sudo node /var/www/html/adminside/server.js

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

$ sudo pm2 start /var/www/html/app/server.js
$ sudo pm2 start /var/www/html/adminside/server.js

পদক্ষেপ 4: লিনাক্সে পিএম 2 কীভাবে ব্যবহার এবং পরিচালনা করবেন

5. উদাহরণস্বরূপ উদাহরণগুলির জন্য -i পতাকা ব্যবহার করে ক্লাস্টার মোডে একটি অ্যাপ্লিকেশন শুরু করতে।

$ sudo pm2 start /var/www/html/app/server.js -i 4 
$ sudo pm2 scale 0 8			#scale cluster app to 8 processes

Your. আপনার সমস্ত নোড অ্যাপ্লিকেশন (প্রক্রিয়া/মাইক্রোসার্ভেসিস) তালিকাভুক্ত করতে নিম্নলিখিত কমান্ডটি চালান।

$ sudo pm2 list

Log. লগগুলি, কাস্টম মেট্রিকগুলি নিরীক্ষণ করতে নিম্নলিখিত কমান্ডটি চালিয়ে সমস্ত প্রক্রিয়া থেকে তথ্য প্রক্রিয়া করুন।

$ sudo pm2 monit

৮. প্রসেস আইডি বা নাম ব্যবহার করে দেখানো হয়েছে এমন একক নোড প্রক্রিয়াটির বিশদটি দেখতে।

$ sudo pm2 show 0

পদক্ষেপ 5: লিনাক্সে পিএম 2 ব্যবহার করে নোড অ্যাপস কীভাবে পরিচালনা করবেন

9. নিম্নলিখিত কয়েকটি সাধারণ প্রক্রিয়া (একক বা সমস্ত) পরিচালনার কমান্ডগুলির একটি তালিকা আপনার খেয়াল করা উচিত।

$ sudo pm2 stop all                  		#stop all apps
$ sudo pm2 stop 0                    		#stop process with ID 0
$ sudo pm2 restart all               		#restart all apps
$ sudo pm2 reset 0		         	#reset all counters
$ sudo pm2 delete all                		#kill and remove all apps
$ sudo pm2 delete 1                 		#kill and delete app with ID 1

১০. অ্যাপ্লিকেশন লগগুলি পরিচালনা করতে নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন।

$ sudo pm2 logs                      	#view logs for all processes 
$ sudo pm2 logs 1	         	#view logs for app 1
$ sudo pm2 logs --json               	#view logs for all processes in JSON format
$ sudo pm2 flush			#flush all logs

১১. পিএম 2 প্রক্রিয়া পরিচালনা করতে নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন।

$ sudo pm2 startup            #enable PM2 to start at system boot
$ sudo pm2 startup systemd    #or explicitly specify systemd as startup system 
$ sudo pm2 save               #save current process list on reboot
$ sudo pm2 unstartup          #disable PM2 from starting at system boot
$ sudo pm2 update	      #update PM2 package

পদক্ষেপ।: ওয়েব ব্রাউজার থেকে নোড অ্যাপ্লিকেশন অ্যাক্সেস করুন

১২. দূরবর্তী ওয়েব ব্রাউজার থেকে আপনার সমস্ত নোড অ্যাপ্লিকেশনটি অ্যাক্সেস করতে প্রথমে আপনাকে আপনার সিস্টেম ফায়ারওয়ালে নিম্নলিখিত পোর্টগুলি খুলতে হবে, যেমন প্রদর্শিত হয়েছে অ্যাপ্লিকেশনগুলিতে ক্লায়েন্ট সংযোগের অনুমতি দিতে।

-------- Debian and Ubuntu -------- 
$ sudo ufw allow 3000/tcp
$ sudo ufw allow 3001/tcp
$ sudo ufw reload

-------- RHEL and CentOS --------
# firewall-cmd --permanent --add-port=3000/tcp
# firewall-cmd --permanent --add-port=3001/tcp
# firewall-cmd --reload 

13. তারপরে এই URL গুলি সহ একটি ওয়েব ব্রাউজার থেকে আপনার অ্যাপ্লিকেশনগুলিতে অ্যাক্সেস করুন:

http://198.168.43.31:3000
http://198.168.43.31:3001 

সর্বশেষে তবে সর্বনিম্ন নয়, পিএম 2 একটি সাধারণ, অন্তর্নির্মিত মডিউল সিস্টেম যার মূল ক্ষমতাগুলি প্রসারিত করতে পারে, কিছু মডিউলগুলিতে এমপি 2-লোগ্রোটেট, পিএম 2-ওয়েবশেল, পিএম 2-সার্ভার-মনিট এবং আরও অনেক কিছু অন্তর্ভুক্ত থাকে - আপনি নিজের তৈরি এবং ব্যবহার করতে পারেন নিজস্ব মডিউল।

আরও তথ্যের জন্য, PM2 গিটহাবের সংগ্রহস্থলটিতে যান: https://github.com/Unitech/PM2/।

এখানেই শেষ! পিএম 2 হ'ল বিল্ট-ইন লোড ব্যালেন্সার সহ নোড.জেসের জন্য উন্নত এবং দক্ষ উত্পাদন-স্তরের প্রক্রিয়া পরিচালক manager এই নিবন্ধে, আমরা লিনাক্সে নোডেজ অ্যাপ্লিকেশন পরিচালনা করতে কীভাবে পিএম 2 ইনস্টল করতে এবং ব্যবহার করব তা দেখিয়েছি। আপনার যদি কোনও প্রশ্ন থাকে তবে নীচের মন্তব্য ফর্মের মাধ্যমে তাদের ব্যবহার করতে প্রেরণ করুন।