আসসালামু আলাইকুম 👋
আমার কাজ দেখুন — চলুন দারুণ কিছু বানাই - ইনশাআল্লাহ
Laravel ডিপ্লয়মেন্ট চেকলিস্ট
Laravel অ্যাপ লাইভ করছেন? মুখস্থ থেকে ডিপ্লয় করবেন না। প্রজেক্ট টাইপ ও ফিচার বাছুন, পেয়ে যান সঠিক প্রোডাকশন চেকলিস্ট — সার্ভার, DB, ক্যাশ, সিকিউরিটি, সবকিছু।
চেকলিস্ট বানানঅ্যাপে যে ফিচার আছে
ডিপ্লয়মেন্ট চেকলিস্ট
২৫
আপনার Laravel অ্যাপের ধাপ
১৯
ক্রিটিক্যাল
৬
প্রস্তাবিত
০
ঐচ্ছিক
সার্ভার সেটআপ
- Ubuntu LTS সার্ভারক্রিটিক্যালস্থিতিশীল, সাপোর্টেড লিনাক্স বেস।
- Nginx + PHP-FPMক্রিটিক্যালPHP-FPM রিভার্স-প্রক্সি করা ওয়েব সার্ভার।
- PHP 8.2+ ও দরকারি এক্সটেনশনক্রিটিক্যালmbstring, bcmath, intl, pdo_mysql…
- Composer (প্রোডে --no-dev)ক্রিটিক্যাল--optimize-autoloader দিয়ে ইনস্টল।
- Supervisor (ওয়ার্কার চালু রাখে)ক্রিটিক্যালqueue/horizon ওয়ার্কার অটো-রিস্টার্ট।
ডেটাবেস
- MySQL / PostgreSQLক্রিটিক্যালডেডিকেটেড ইউজার সহ মূল ডেটাবেস।
- অটোমেটেড দৈনিক ব্যাকআপক্রিটিক্যালশিডিউল্ড ডাম্প সার্ভারের বাইরে।
- ইনডেক্স অপটিমাইজেশনক্রিটিক্যালফরেন কি ও হট কলামে ইনডেক্স।
ক্যাশ
- কনফিগ/রুট/ভিউ ক্যাশক্রিটিক্যালphp artisan optimize — প্রোডে বড় স্পিডআপ।
- Redis (ক্যাশ + সেশন)ক্রিটিক্যালদ্রুত ক্যাশ, সেশন ও কিউ ড্রাইভার।
- Redis/SQS-এ কিউ (sync নয়)ক্রিটিক্যালধীর জব রিকোয়েস্টের বাইরে।
সিকিউরিটি
- SSL / HTTPS (Let's Encrypt)ক্রিটিক্যালHTTPS বাধ্যতামূলক, অটো-রিনিউ।
- APP_DEBUG=false, APP_ENV=productionক্রিটিক্যালইউজারকে স্ট্যাক ট্রেস দেখাবেন না।
- সঠিক storage ও cache পারমিশনক্রিটিক্যালstorage, bootstrap/cache-এর মালিক www-data।
- ফায়ারওয়াল (ufw)ক্রিটিক্যালশুধু 22/80/443 খোলা।
- Fail2Banপ্রস্তাবিতSSH ও লগইনে ব্রুট-ফোর্স ব্লক করে।
মনিটরিং
- এরর ট্র্যাকিং (Sentry / Flare)প্রস্তাবিতকনটেক্সট সহ এরর ধরে।
- আপটাইম মনিটরিংপ্রস্তাবিতসাইট ডাউন হলে অ্যালার্ট।
- লগ রোটেশন (daily চ্যানেল)প্রস্তাবিতলগে ডিস্ক ভরে যাওয়া আটকায়।
ডিপ্লয়মেন্ট
- এনভায়রনমেন্ট ভেরিয়েবল (.env)ক্রিটিক্যালসিক্রেট git-এর বাইরে, সার্ভারভেদে।
- শিডিউলার ক্রন (schedule:run)ক্রিটিক্যালএক ক্রন এন্ট্রি সব শিডিউল্ড টাস্ক চালায়।
- Supervisor দিয়ে কিউ ওয়ার্কারক্রিটিক্যালqueue:work, ডিপ্লয়ে রিস্টার্ট।
- স্টোরেজ সিমলিংক (storage:link)ক্রিটিক্যালআপলোড করা ফাইলে পাবলিক অ্যাক্সেস।
- CI/CD পাইপলাইনপ্রস্তাবিতঅটোমেটেড টেস্ট, বিল্ড ও ডিপ্লয়।
- জিরো-ডাউনটাইম ডিপ্লয় (Deployer/Envoyer)প্রস্তাবিতরোলব্যাক সহ অ্যাটমিক রিলিজ।
প্রো-র মতো Laravel ডিপ্লয় করুন
Laravel দিয়ে বানানো সহজ, কিন্তু প্রোডাকশন আলাদা খেলা। একটা ভুলে যাওয়া storage:link আপনার ইমেজ আপলোড ভাঙে, একটা মিসিং কিউ ওয়ার্কার চুপচাপ ইমেইল ড্রপ করে, আর APP_DEBUG অন থাকলে নীরবে সিক্রেট লিক হয়। এই Laravel প্রোডাকশন চেকলিস্ট পুরো যাত্রা কভার করে — সার্ভার সেটআপ, MySQL ও ব্যাকআপ, Redis ক্যাশ, SSL ও ফায়ারওয়াল, মনিটরিং, আর পরিষ্কার CI/CD ডিপ্লয়মেন্ট।
সচরাচর জিজ্ঞাসা
Laravel অ্যাপ প্রোডাকশনে দিতে কী কী লাগে?
ন্যূনতম: একটা Linux সার্ভার (Ubuntu), Nginx + PHP-FPM, PHP 8.2+, Composer, MySQL, SSL, আর APP_DEBUG=false সহ .env। কিউ বা নোটিফিকেশন ব্যবহার করলে Redis, কিউ ওয়ার্কার ও Supervisor যোগ করুন। এই টুল আপনার প্রজেক্ট ও ফিচার অনুযায়ী লিস্টটা বানিয়ে দেয়।
APP_DEBUG=false এত জরুরি কেন?
ডিবাগ অন থাকলে Laravel পুরো স্ট্যাক ট্রেস দেখায় — আপনার ডেটাবেস ক্রেডেনশিয়াল ও ফাইল পাথ সহ — যে কেউ এরর ট্রিগার করলেই। প্রোডাকশনে এটা মারাত্মক সিকিউরিটি লিক। সবসময় APP_DEBUG=false আর APP_ENV=production রাখুন। তাই এটাকে Critical মার্ক করা।
Redis আর Supervisor কি সত্যিই লাগে?
কিউ, নোটিফিকেশন বা চ্যাট ব্যবহার করলে — হ্যাঁ। Redis দ্রুত ক্যাশ, সেশন আর আসল কিউ ড্রাইভার দেয় (প্রোডাকশনে কখনো 'sync' নয়)। Supervisor আপনার কিউ ওয়ার্কার চালু রাখে ও অটো-রিস্টার্ট করে। সিম্পল ওয়েবসাইটে এগুলো ঐচ্ছিক — টুল সেটাই দেখায়।
এই চেকলিস্ট কি ফ্রি?
হ্যাঁ — পুরোপুরি ফ্রি, ব্রাউজারে চলে, কিছু সংরক্ষণ হয় না। Copy চেপে চেকলিস্ট রাখুন আর ডিপ্লয় করতে করতে টিক দিন।
বাকি ফ্রি ডেভেলপার টুলগুলো দেখুন।
সব টুল