================================================================================ ROYAL MACAW NEXT.JS - CLOUDPANEL SERVER SETUP & DEPLOYMENT GUIDE ================================================================================ [০] সার্ভার তথ্য (Server Details) -------------------------------------------------------------------------------- Server User : royalmacaw01 Site Domain : panel.royalmacaw.com Site Directory : /home/royalmacaw01/htdocs/panel.royalmacaw.com Node App Name : royal-macaw App Port : 3000 WordPress URL : https://shop.frmartbd.com ================================================================================ [১] প্রথমবার সার্ভার সেটআপ (First Time Fresh Setup) ================================================================================ CloudPanel File Manager দিয়ে `royal-macaw-production.zip` আপলোড করার পর PuTTY টার্মিনালে পর্যায়ক্রমে নিচের কমান্ডগুলো দিন: # ধাপ ১: প্রজেক্ট ফোল্ডারে প্রবেশ করুন cd /home/royalmacaw01/htdocs/panel.royalmacaw.com # ধাপ ২: জিপ ফাইল আনজিপ করুন unzip -o royal-macaw-production.zip # ধাপ ৩: নোড প্যাকেজ ইনস্টল করুন npm install --omit=dev # ধাপ ৪: PM2 গ্লোবালি ইনস্টল করুন (যদি আগে না থাকে) npm install -g pm2 # ধাপ ৫: ফোল্ডার পারমিশন ঠিক করুন chmod -R 755 .next _next public # ধাপ ৬: PM2 দিয়ে প্রথমবারের মতো ব্যাকগ্রাউন্ডে চালু করুন pm2 start server.js --name "royal-macaw" # ধাপ ৭: পার্মানেন্ট সেভ করুন (VPS রিবুট হলেও যেন অটো চালু থাকে) pm2 save pm2 startup ================================================================================ [২] WooCommerce API Keys সেটআপ ও .env এডিট করার নিয়ম ================================================================================ প্রোডাক্ট লাইভ সিঙ্ক ও চেকআউট চালুর জন্য WooCommerce Keys বসাতে হবে: ক. WordPress Admin (https://shop.frmartbd.com/wp-admin) এ যান: -> WooCommerce > Settings > Advanced > REST API > Add key -> Description : Next.js Storefront -> Permissions : Read/Write (অবশ্যই) -> Generate API Key বাটনে ক্লিক করে ck_... এবং cs_... কপি করুন। খ. সার্ভার টার্মিনালে .env ফাইল ওপেন করুন: nano /home/royalmacaw01/htdocs/panel.royalmacaw.com/.env গ. পুরনো কী মুছে নতুন দুটি বসান: WC_CONSUMER_KEY=আপনার_নতুন_ck_... WC_CONSUMER_SECRET=আপনার_নতুন_cs_... ঘ. সেভ করুন: - কিবোর্ডে চাপুন: Ctrl + O - তারপর চাপুন: Enter - ফাইল থেকে বের হতে চাপুন: Ctrl + X ================================================================================ [৩] সাধারণ / রেগুলার রিস্টার্ট কমান্ড (Quick Restart Commands) ================================================================================ যেকোনো সময় .env এডিট করার পর বা সাইট সাধারণ রিস্টার্ট দিতে টার্মিনালে দিন: # শুধু royal-macaw রিস্টার্ট দিতে: pm2 restart royal-macaw # অথবা সব প্রসেস একসাথে রিস্টার্ট দিতে: pm2 restart all # সার্ভার লাইভ আছে কিনা দেখতে: pm2 status # সাইটের লাইভ লগ / এরর চেক করতে: pm2 logs royal-macaw --lines 30 ================================================================================ [৪] ভবিষ্যতে আপডেট কোড ডিপ্লয়মেন্ট (Future Updates: Unzip & Restart) ================================================================================ ভবিষ্যতে যখনই লোকাল পিসিতে কোড আপডেট করবেন: ১. লোকাল পিসিতে টার্মিনালে বিল্ড ও জিপ তৈরি করবেন: npm run build powershell -ExecutionPolicy Bypass -File .\create-zip.ps1 ২. তৈরি হওয়া `royal-macaw-production.zip` ফাইলটি সার্ভারের `/home/royalmacaw01/htdocs/panel.royalmacaw.com` এ আপলোড করবেন। ৩. সার্ভার টার্মিনালে শুধু নিচের ৪ লাইনের কমান্ড একসাথে কপি করে পেস্ট করে দিবেন: cd /home/royalmacaw01/htdocs/panel.royalmacaw.com unzip -o royal-macaw-production.zip npm install --omit=dev pm2 restart royal-macaw ================================================================================ [৫] যদি সরাসরি সার্ভারেই Rebuild করতে চান (Direct Server Rebuild) ================================================================================ যদি কখনো সার্ভারে কোনো কোড ফাইল এডিট করেন এবং সার্ভারেই আবার Rebuild দিতে চান: cd /home/royalmacaw01/htdocs/panel.royalmacaw.com npm run build pm2 restart royal-macaw ================================================================================ [৬] ইমার্জেন্সি ফিক্স ও সমস্যা সমাধান (Troubleshooting) ================================================================================ যদি কখনো কোনো কারণে সাইট অফ হয়ে যায় বা ক্র্যাশ করে: ১. প্রসেস ডিলিট করে নতুন করে ফ্রেশ স্টার্ট দিন: pm2 delete royal-macaw pm2 start server.js --name "royal-macaw" pm2 save ২. সরাসরি টেস্ট রান করে লাইভ এরর দেখতে চাইলে: node server.js (যদি `> Ready on 3000` আসে তাহলে বুঝবেন কোড ১০০% ঠিক আছে, তখন Ctrl + C দিয়ে বন্ধ করে PM2 চালু করবেন) ৩. CloudPanel ড্যাশবোর্ড থেকে রিস্টার্ট দিতে চাইলে: CloudPanel > Sites > panel.royalmacaw.com > Settings বা Node.js > Restart বাটন চাপুন। ================================================================================