এনগিনেক্সে কীভাবে পিএইচপি-এফপিএম স্থিতি সক্ষম এবং পর্যবেক্ষণ করবেন


পিএইচপি-এফপিএম (ফাস্টসিজিআই প্রসেস ম্যানেজার) একটি বিকল্প পিএইচপি ফাস্টসিজিআই বাস্তবায়ন যা কোনও আকারের ওয়েবসাইটের জন্য বিশেষত যে সাইটগুলি উচ্চ ট্র্যাফিক গ্রহণ করে তার জন্য দরকারী অনেকগুলি অতিরিক্ত বৈশিষ্ট্য নিয়ে আসে।

এটি সাধারণত এলইএমপি (লিনাক্স এনগিনেক্স মাইএসকিউএল/মারিয়াডিবি পিএইচপি) স্ট্যাকে ব্যবহৃত হয়; এনগিনেক্স কোনও নেটওয়ার্কে ডায়নামিক এইচটিটিপি কনটেন্ট সরবরাহ করার জন্য পিএইচপি ফাস্টপিজিআই ব্যবহার করে। এটি ইন্টারনেটে ওয়েব সার্ভারে শত শত ওয়েবসাইটের জন্য কয়েক মিলিয়ন পিএইচপি অনুরোধ পরিবেশন করতে ব্যবহৃত হচ্ছে।

পিএইচপি-এফপিএম-এর অন্যতম কার্যকর বৈশিষ্ট্য হ'ল বিল্ট-ইন স্ট্যাটাস পৃষ্ঠা, যা আপনাকে এর স্বাস্থ্যের উপর নজর রাখতে সহায়তা করতে পারে। এই নিবন্ধে, আমরা কীভাবে লিনাক্সে পিএইচপি-এফপিএম স্থিতি পৃষ্ঠা সক্ষম করব তা দেখাব।

লিনাক্সে কীভাবে পিএইচপি-এফপিএম স্থিতি পৃষ্ঠা সক্ষম করবেন

প্রথমে পিএইচপি-এফএমপি কনফিগারেশন ফাইলটি খুলুন এবং প্রদর্শিত স্থিতি পৃষ্ঠাটি সক্ষম করুন

$ sudo vim /etc/php-fpm.d/www.conf 
OR
$ sudo vim /etc/php/7.2/fpm/pool.d/www.conf	#for PHP versions 5.6, 7.0, 7.1

এই ফাইলটির অভ্যন্তরে, স্ক্রিনশটটিতে দেখানো হয়েছে হিসাবে pm.status_path =/status পরিবর্তনশীলটি সন্ধান করুন এবং অবিরাম করুন।

পরিবর্তনগুলি সংরক্ষণ করুন এবং ফাইলটি প্রস্থান করুন।

এরপরে, নীচের কমান্ডটি চালিয়ে কোনও ত্রুটির জন্য পিএইচপি-এফপিএম কনফিগারেশন ফাইলটি পরীক্ষা করে দেখুন।

$ sudo php-fpm -t
OR
$ sudo php7.2-fpm -t

তারপরে সাম্প্রতিক পরিবর্তনগুলি প্রয়োগ করতে PHP-FPM পরিষেবাটি পুনরায় চালু করুন।

$ sudo systemctl restart php-fpm
OR
$ sudo systemctl restart php7.2-fpm

এরপরে, আপনার ডিফল্ট সার্ভার ব্লক (ভার্চুয়াল হোস্ট) কনফিগারেশন ফাইলটি সম্পাদনা করুন এবং এর নীচে অবস্থানের ব্লকটি যুক্ত করুন। পরীক্ষার সিস্টেমে উদাহরণস্বরূপ, সাইট টেস্ট.ল্যাবের জন্য ডিফল্ট সার্ভার ব্লকের কনফিগার ফাইলটি /etc/nginx/conf.d/default.conf।

$ sudo vim /etc/nginx/conf.d/default.conf 

যুক্ত করার জন্য লোকেশন ব্লকটি এখানে। এই কনফিগারেশনে, আমরা সুরক্ষা কারণে 127.0.0.1 অনুমতি ব্যবহারের নির্দেশ ব্যবহার করে লোকালহোস্টের মধ্যে কেবল PHP-FPM প্রক্রিয়া স্থিতিতে অ্যাক্সেসের অনুমতি পেয়েছি।

location ~ ^/(status|ping)$ {
        allow 127.0.0.1;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_index index.php;
        include fastcgi_params;
        #fastcgi_pass 127.0.0.1:9000;
        fastcgi_pass   unix:/var/run/php7.2-fpm.sock;
}

ফাইলটি সংরক্ষণ করুন এবং এটি বন্ধ করুন।

তারপরে উপরের পরিবর্তনগুলি প্রয়োগ করতে Nginx সার্ভারটি পুনরায় চালু করুন।

$ sudo systemctl restart nginx

এখন আপনার ব্রাউজারটি খুলুন এবং আপনার পিএইচপি-এফপিএম প্রক্রিয়া স্থিতি দেখতে ইউআরএল http://test.lab/status টাইপ করুন।

বিকল্পভাবে, নিম্নরূপে কার্ল প্রোগ্রামটি ব্যবহার করুন, যেখানে -L পতাকা পৃষ্ঠাটির অবস্থান নির্দিষ্ট করে।

$ curl -L http://test.lab/status

ডিফল্টরূপে, স্থিতি পৃষ্ঠাটি কেবল একটি সংক্ষিপ্ত বিবরণ বা সংক্ষিপ্ত অবস্থা প্রিন্ট করে। প্রতিটি পুল প্রক্রিয়াটির স্থিতি দেখতে, উদাহরণস্বরূপ ক্যোরি স্ট্রিংয়ে "পূর্ণ" পাস করুন:

http://www.foo.bar/status?full

আপনি প্রদর্শিত হিসাবে আউটপুট ফর্ম্যাট (JSON, এইচটিএমএল বা এক্সএমএল) সংজ্ঞায়িত করতে পারেন।

http://www.foo.bar/status?json&full
http://www.foo.bar/status?html&full
http://www.foo.bar/status?xml&full

নীচে প্রতিটি প্রক্রিয়াটির জন্য পিএইচপি-এফপিএম পূর্ণ স্থিতিতে ফিরে আসা মানগুলি:

  • পিড - প্রক্রিয়াটির পিআইডি
  • রাষ্ট্র প্রক্রিয়া স্থিতি (নিষ্ক্রিয়, চলমান, ইত্যাদি)
  • প্রক্রিয়া শুরু হওয়ার সময় - তারিখ এবং সময়
  • প্রক্রিয়া শুরু হওয়ার পর থেকে শুরু করুন - সেকেন্ডের সংখ্যা
  • অনুরোধ - প্রক্রিয়াটি যে অনুরোধ করেছে তার সংখ্যা
  • অনুরোধের সময়কাল - সময়কালের অনুরোধ
  • অনুরোধের পদ্ধতি - অনুরোধের পদ্ধতি (জিইটি, পোস্ট, ইত্যাদি)
  • অনুরোধ করুন ইউআরআই - ক্যোরি স্ট্রিং সহ ইউআরআইয়ের অনুরোধ করুন
  • সামগ্রীর দৈর্ঘ্য - অনুরোধের সামগ্রীর দৈর্ঘ্য (কেবলমাত্র POST সহ)
  • ব্যবহারকারী - ব্যবহারকারী (PHP_AUTH_USER) (বা ‘-‘ সেট না থাকলে)
  • স্ক্রিপ্ট - প্রধান স্ক্রিপ্ট বলা হয় (বা ‘-‘ সেট না থাকলে)
  • সর্বশেষ অনুরোধ সিপিইউ -% সিপিইউ শেষ অনুরোধটি গ্রাস করেছে (নোট করুন প্রক্রিয়াটি নিষ্ক্রিয় অবস্থায় না থাকলে এটি সর্বদা 0 থাকে)
  • সর্বশেষ অনুরোধের মেমরি - শেষ অনুরোধটি গ্রাস করা সর্বাধিক পরিমাণের (প্রক্রিয়াটি নিষ্ক্রিয় অবস্থায় না থাকলে এটি সর্বদা 0 থাকে)

আপাতত এই পর্যন্ত! এই নিবন্ধে, আমরা এনগিনেক্স ওয়েব সার্ভারের অধীনে পিএইচপি-এফপিএম স্থিতি পৃষ্ঠাটি কীভাবে সক্ষম করব তা ব্যাখ্যা করেছি। আপনার মতামত আমাদের সাথে ভাগ করে নিতে নীচের প্রতিক্রিয়া ফর্মটি ব্যবহার করুন।