নিবন্ধ ডিরেক্টরি
এখনও কি প্রতিটি HestiaCP ডোমেইনের জন্য ম্যানুয়ালি PHP টেমপ্লেট পরিবর্তন করছেন ? এই টিউটোরিয়ালটি আপনাকে ধাপে ধাপে দেখাবে কীভাবে কাস্টম PHP-FPM টেমপ্লেট তৈরি করতে হয় এবং এক ক্লিকেই আপনার সমস্ত ওয়েবসাইটে তা প্রয়োগ করতে হয়। এটি আপনাকে পুনরাবৃত্তিমূলক কাজ এড়াতে এবং সার্ভারের পারফরম্যান্স দক্ষতার সাথে অপ্টিমাইজ করতে সাহায্য করার জন্য সম্পূর্ণ কনফিগারেশন কোড এবং স্বয়ংক্রিয় ব্যাচ স্ক্রিপ্ট সরবরাহ করে!
কষ্ট কাকে বলে? এটা হলো সেই মুহূর্ত, যখন আপনি HestiaCP প্যানেলে একের পর এক ডজন ডজন ওয়েবসাইটের জন্য PHP টেমপ্লেট পরিবর্তন করছেন, টাইপ করতে করতে আপনার আঙুলগুলো অসাড় হয়ে গেছে, একদৃষ্টে তাকিয়ে থাকতে থাকতে চোখ ব্যথা করছে, কিন্তু আপনি মনে মনে জানেন যে এটা কেবলই একঘেয়ে ও অন্তহীন কাজ।
প্রকৃত ওস্তাদরা এমন যান্ত্রিক কাজে কখনো সময় নষ্ট করেন না।
এই নিবন্ধটির লক্ষ্য হলো এই সমস্যাটির সম্পূর্ণ সমাধান করা, যার মাধ্যমে আপনি একটি স্ক্রিপ্ট ব্যবহার করে এক ক্লিকে ব্যাচ সুইচিং সম্পন্ন করতে এবং স্বয়ংক্রিয়ভাবে ডিটেকশন রিপোর্ট তৈরি করতে পারবেন, যা কর্মদক্ষতাকে এক নতুন স্তরে নিয়ে যাবে।

⚠️ HestiaCP-এর ডিফল্ট PHP-FPM টেমপ্লেটটি ওভাররাইট করা হবে।
HestiaCP-তে, সিস্টেম আপডেটের সময় ডিফল্ট PHP-FPM টেমপ্লেটটি ওভাররাইট হয়ে যায়।
এর মানে হলো, আপনি যদি সরাসরি ডিফল্ট টেমপ্লেটটি পরিবর্তন করেন, তাহলে পরবর্তী আপডেটে তা মুছে যেতে পারে।
অতএব, সবচেয়ে ভালো উপায় হলো ডিফল্ট টেমপ্লেটটি কপি করে একটি কাস্টম সংস্করণ তৈরি করা, উদাহরণস্বরূপ:
custom-PHP8_4.tplcustom-PHP8_5.tpl
এটি নিশ্চিত করে যে কনফিগারেশনটি দীর্ঘমেয়াদীভাবে সংরক্ষিত থাকবে এবং ওভাররাইট হবে না।
HestiaCP-এর অফিসিয়াল ডকুমেন্টেশন অনুসারে, টেমপ্লেট মেকানিজম ব্যবহারকারীদেরকে অনুমতি দেয়... /usr/local/hestia/data/templates/web/php-fpm/ আপনি এই পাথের অধীনে অবাধে কাস্টম টেমপ্লেট তৈরি এবং পরিচালনা করতে পারেন (উৎস: HestiaCP অফিসিয়াল ডকুমেন্টেশন)।
🛠️ একটি কাস্টম টেমপ্লেট প্রস্তুত করা
আপনাকে ডিফল্ট টেমপ্লেটটি কপি করে প্যারামিটারগুলো পরিবর্তন করতে হবে।
HestiaCP-তে ডিফল্ট সিস্টেমের জন্য PHP-এর সর্বশেষ সংস্করণটি নির্বাচন করার পরামর্শ দেওয়া হয়। এর ফলে স্বয়ংক্রিয় আপডেটের পর সিস্টেমটি স্বয়ংক্রিয়ভাবে কোনো পুরোনো সংস্করণ নির্বাচন করে ফেলে না।
লগইন প্যানেল → উপরের ডান কোণায় থাকা গিয়ার আইকন → সার্ভার কনফিগার করুন → সিস্টেম পিএইচপি ভার্সন (সর্বশেষ ভার্সন ব্যবহার করার পরামর্শ দেওয়া হচ্ছে)
ডিফল্ট টেমপ্লেট কপি করার কমান্ড:
cp /usr/local/hestia/data/templates/web/php-fpm/default.tpl \ /usr/local/hestia/data/templates/web/php-fpm/custom-default-PHP.tpl cp /usr/local/hestia/data/templates/web/php-fpm/PHP-8_5.tpl \ /usr/local/hestia/data/templates/web/php-fpm/custom-PHP8_5.tpl cp /usr/local/hestia/data/templates/web/php-fpm/PHP-8_4.tpl \ /usr/local/hestia/data/templates/web/php-fpm/custom-PHP8_4.tpl
আপনি অনুলিপি করা টেমপ্লেটটি পরিবর্তন করতে পারেন:
- লিসেনিং সকেটবিভিন্ন সংস্করণের মধ্যে দ্বন্দ্ব এড়াতে।
- লগ পাথপ্রতিটি সংস্করণের জন্য লগগুলো আলাদাভাবে সংরক্ষণ করুন।
- প্রক্রিয়া নম্বর কনফিগারেশনসাইটের ট্র্যাফিকের উপর ভিত্তি করে সমন্বয় করুন।
এইভাবে প্রতিটি সাইট একটি উপযুক্ত পিএইচপি পরিবেশে চলতে পারে।
PHP-FPM ব্যাকএন্ড টেমপ্লেট পরিবর্তন করার কমান্ডটি নিম্নরূপ: v-change-web-domain-backend-tpl USER DOMAIN TPL.
সিস্টেমের ডিফল্ট ব্যাকএন্ড টেমপ্লেটে পুনরুদ্ধার করার পর এটি চালানো যাবে। v-change-web-domain-backend-tpl admin chenweiliang.com default.
কোনো নির্দিষ্ট সংস্করণ বা কাস্টম টেমপ্লেট উল্লেখ করার সময় চালান। v-change-web-domain-backend-tpl admin chenweiliang.com PHP-8_5-custom.
📜 ব্যাচ টেমপ্লেট স্যুইচিং স্ক্রিপ্ট
আপনার যদি এক ডজন বা তারও বেশি ওয়েবসাইট থাকে, তবে এক এক করে টেমপ্লেট পরিবর্তন করাটা একটা বিপর্যয়।
এর সমাধান হলো একটি শেল স্ক্রিপ্ট লেখা:
#!/bin/bash
# 批量切换站点到 PHP8.4 模板
sites_php84=("site1.com" "site2.com")
for domain in "${sites_php84[@]}"; do
v-change-web-domain-template admin $domain custom-PHP8_4.tpl
done
# 批量切换站点到 PHP8.5 模板
sites_php85=("site3.com" "site4.com")
for domain in "${sites_php85[@]}"; do
v-change-web-domain-template admin $domain custom-PHP8_5.tpl
done
বর্ণনা:
adminওটা একটি ব্যবহারকারী অ্যাকাউন্ট; আপনাকে এটি আপনার নিজের অ্যাকাউন্ট দিয়ে প্রতিস্থাপন করতে হবে।site1.com,site2.comযে ডোমেইন নামটি পরিবর্তন করতে হবে তা হলো...v-change-web-domain-templateএটি HestiaCP কর্তৃক প্রদত্ত একটি কমান্ড-লাইন টুল।
এই পদ্ধতিটি একবারে ব্যাচ সুইচিং সম্পন্ন করতে পারে, ফলে মানুষের ভুল এড়ানো যায়।
🖥️ প্যানেলে নিশ্চিত করুন
পরিবর্তনটি সম্পন্ন হওয়ার পর, আপনাকে HestiaCP প্যানেলে লগ ইন করতে হবে:
- খোলা ওয়েব → ডোমেইন সম্পাদনা করুন.
- PHP-FPM টেমপ্লেটটি পরিবর্তন করা হয়েছে কিনা তা পরীক্ষা করুন।
custom-PHP8_4.tpl或custom-PHP8_5.tpl.
এই ধাপে ম্যানুয়াল যাচাইকরণের মাধ্যমে নিশ্চিত করা হয় যে স্ক্রিপ্টটি কোনো অস্বাভাবিকতা ছাড়াই কার্যকর হচ্ছে।
⚙️ কনফিগারেশনটি কার্যকর কিনা তা যাচাই করুন।
ব্যাচ সুইচিংয়ের পরে, পরিষেবার অবস্থাও যাচাই করা প্রয়োজন।
systemctl status php8.4-fpm
systemctl status php8.5-fpm
যদি পরিষেবাটি স্বাভাবিকভাবে চলে, তার মানে টেমপ্লেট পরিবর্তন সফল হয়েছে।
একই সাথে, সাইটটি পরিদর্শন করে নিশ্চিত করুন যে সেখানে কোনো 500 ত্রুটি বা ফাঁকা স্ক্রিন নেই ।
📊 স্বয়ংক্রিয় সনাক্তকরণ স্ক্রিপ্ট
কার্যকারিতা আরও উন্নত করার জন্য একটি স্বয়ংক্রিয় শনাক্তকরণ স্ক্রিপ্ট লেখা যেতে পারে।
ব্যাচ সুইচিংয়ের পরে, এটি প্রতিটি সাইট পরীক্ষা করে দেখবে যে সংশ্লিষ্ট টেমপ্লেটটি সঠিকভাবে প্রয়োগ করা হয়েছে কিনা এবং একটি প্রতিবেদন তৈরি করবে।
#!/bin/bash
USER="admin"
sites_php84=("site1.com" "site2.com")
sites_php85=("site3.com" "site4.com")
for domain in "${sites_php84[@]}"; do
v-change-web-domain-template $USER $domain custom-PHP8_4.tpl
done
for domain in "${sites_php85[@]}"; do
v-change-web-domain-template $USER $domain custom-PHP8_5.tpl
done
REPORT="/root/hestia-template-report.txt"
echo "HestiaCP 模板检测报告 - $(date)" > $REPORT
echo "===================================" >> $REPORT
for domain in "${sites_php84[@]}" "${sites_php85[@]}"; do
TEMPLATE=$(v-list-web-domain $USER $domain | grep "TPL:" | awk '{print $2}')
echo "$domain 当前模板: $TEMPLATE" >> $REPORT
done
echo "✅ 检测完成,报告已生成:$REPORT"
চালানোর পরে, আপনি প্রতিটি সাইটের বর্তমান টেমপ্লেটগুলির তালিকা সহ একটি স্পষ্ট প্রতিবেদন পাবেন।
এই পদ্ধতির মাধ্যমে আপনি এক নজরেই পরিষ্কারভাবে নিশ্চিত হতে পারবেন যে পরিবর্তনটি সফল হয়েছে কি না।
📖 কিভাবে ব্যবহার করবেন
স্ক্রিপ্টটি সংরক্ষণ করুন:
nano /root/switch-and-check.shবিষয়বস্তু পেস্ট করুন এবং সংরক্ষণ করুন।
অনুমতি দিন:
chmod +x /root/switch-and-check.shস্ক্রিপ্ট চালান:
./root/switch-and-check.shপ্রতিবেদনটি দেখুন:
cat /root/hestia-template-report.txt
প্রতিবেদনটিতে প্রতিটি সাইটের জন্য টেমপ্লেট অ্যাপ্লিকেশনের অবস্থা দেখানো হবে।
📌 সারাংশ
কাস্টম PHP-FPM টেমপ্লেটগুলো একসাথে পরিবর্তন করার সর্বোত্তম পদ্ধতি হলো:
- একটি কাস্টম টেমপ্লেট প্রস্তুত করুন →
- ব্যাচ স্যুইচিং স্ক্রিপ্ট →
- প্যানেল নিশ্চিতকরণ →
- স্বয়ংক্রিয় পরীক্ষার প্রতিবেদন.
এই পদ্ধতিটি শুধু আপডেট ওভাররাইট হওয়া এড়ায় না, বরং এটি বিভিন্ন পিএইচপি ভার্সনের অধীনে একাধিক সাইটের স্থিতিশীল পরিচালনাও নিশ্চিত করে।
💡 উপসংহার
ডিজিটাল যুগে, দক্ষতাই হলো প্রতিযোগিতা সক্ষমতা।
আপনি যদি এখনও সাইটের কনফিগারেশন এক এক করে পরিবর্তন করতে থাকেন, তাহলে তা অ্যাবাকাস দিয়ে কোয়ান্টাম কম্পিউটারের সাথে প্রতিযোগিতা করার চেষ্টার মতো।
ব্যাচ স্ক্রিপ্ট এবং স্বয়ংক্রিয় সনাক্তকরণের সাহায্যে, আপনি ক্লান্তিকর কাজগুলোকে এক-ক্লিক অপারেশনে পরিণত করতে পারেন, ফলে আপনার সময় আরও মূল্যবান কাজের জন্য বেঁচে যায়।
প্রকৃত ওস্তাদ তিনি নন যিনি প্রচুর কোড লিখতে পারেন, বরং তিনি যিনি জটিল প্রক্রিয়াগুলোকে চরমভাবে সরল করতে পারেন।
সুতরাং পদক্ষেপ নিন এবং আপনার সার্ভারগুলিতে এই পরিচালন নির্দেশিকাগুলি প্রয়োগ করে আপনার পরিচালনা ও রক্ষণাবেক্ষণ দক্ষতাকে তাৎক্ষণিকভাবে এক নতুন স্তরে উন্নীত করুন।
এটাই প্রযুক্তির শক্তি, এবং সেই সাথে ব্যবস্থাটিকে নিয়ন্ত্রণ করার প্রজ্ঞা।
জটিল ব্যবস্থায় দক্ষতা অর্জন করা কেবল শক্তি প্রয়োগের মধ্যে নিহিত নয়, বরং সরলীকরণের প্রজ্ঞার মধ্যেই রয়েছে।
কীভাবে সূক্ষ্মভাবে সমন্বয় করতে হয় তা শিখুন pm.max_children,pm.start_servers,pm.max_requests এই মূল পরামিতিগুলো স্থিতিশীলতা এবং যুগপৎ ভারবহন ক্ষমতা বৃদ্ধি করে।
👉পড়তে থাকুন: HestiaCP PHP-FPM টেমপ্লেট প্যারামিটার কনফিগারেশন পদ্ধতি — HestiaCP PHP-FPM কি ওভারলোডেড? ডাইনামিক ওয়েবপেজগুলোতে কি 500 এরর আসছে? এই অপটিমাইজেশন পদ্ধতিটি তাৎক্ষণিক ফল দেবে! ▼
এখনই দেখতে ক্লিক করুন। এই কৌশলগুলো শেখার পর, আপনি আপনার পরিচালনা ও রক্ষণাবেক্ষণের কাজকে তাৎক্ষণিক সমস্যা সমাধান থেকে সক্রিয় সর্বোত্তমকরণে রূপান্তরিত করতে পারবেন।
আশা করি, চেন ওয়েইলিয়াং-এর ব্লগে ( https://www.chenweiliang.com/ ) শেয়ার করা "HestiaCP Batch Automatic Switching of Custom PHP-FPM Templates: Say Goodbye to Manual Clicking One by One (with Script)" শীর্ষক প্রবন্ধটি আপনার জন্য সহায়ক হবে।
এই নিবন্ধটির লিঙ্কটি নির্দ্বিধায় শেয়ার করুন: https://www.chenweiliang.com/cwl-34438.html

