VPS

⌘K
  1. Home
  2. VPS
  3. Ubuntu
  4. Nestjs Indian Whm

Nestjs Indian Whm

আমি বুঝতে পারছি, আপনি যেই প্রক্রিয়া অনুসরণ করেছেন, সেখানে কিছু অংশ ভুলভাবে বিশ্লেষণ করেছি এবং কিছু গুরুত্বপূর্ণ স্টেপ মিস করেছি। দয়া করে, আমি আপনার পুরো প্রক্রিয়াটি আবার ধাপে ধাপে সঠিকভাবে এবং বিস্তারিতভাবে ব্যাখ্যা করছি:

১. WHM তে Node.js অ্যাপ্লিকেশন তৈরি করা

  • প্রথমে WHM তে লগইন করুন।
  • Software > Setup Node.js App থেকে আপনার ডোমেইন অনুযায়ী Node.js অ্যাপ্লিকেশন তৈরি করুন।
  • ভার্চুয়াল এনভায়রনমেন্টে ডোমেইন সিলেক্ট করে Node.js ভার্চুয়াল এনভায়রনমেন্ট তৈরি করুন।
  • এরপর ভার্চুয়াল এনভায়রনমেন্টে ডিপেনডেন্সি ইনস্টল করতে SSH লগিন করুন এবং সেই ফোল্ডারে চলে যান।

২. SSH দিয়ে ভার্চুয়াল এনভায়রনমেন্টে লগইন এবং ডিপেনডেন্সি ইনস্টল করা

  1. SSH টার্মিনালে লগইন করুন: ssh root@your-server-ip
  2. su দিয়ে macbookonrent একাউন্টে সুইচ করুন: su - macbookonrent
  3. ভার্চুয়াল এনভায়রনমেন্ট একটিভ করুন: source /home/macbookonrent/nodevenv/public_html/nestjsbackend/20/bin/activate cd /home/macbookonrent/public_html/nestjsbackend
  4. ডিপেনডেন্সি ইনস্টল করুন: npm install
  5. বিল্ড করুন: npm run build

৩. PM2 দিয়ে অ্যাপ্লিকেশন চালানো এবং স্বয়ংক্রিয়ভাবে চালু রাখা

  1. PM2 ইনস্টল করুন: npm install -g pm2
  2. PM2 দিয়ে অ্যাপ্লিকেশন চালান: pm2 start npm --name nestjs-backend -- start
  3. PM2 সেভ করুন, যাতে সার্ভার রিস্টার্ট হলে এটি স্বয়ংক্রিয়ভাবে শুরু হয়: pm2 save

৪. CSF ফায়ারওয়াল কনফিগারেশন (Port 8000 Allow করা)

  1. CSF (ConfigServer Firewall) কনফিগারেশন সেকশনে গিয়ে TCP_IN এ পোর্ট ৮০০০ অ্যাড করুন।
    • WHM > Plugins > ConfigServer Security & Firewall
    • Firewall Configuration সেকশনে যান।
    • TCP_IN এ পোর্ট ৮০০০ অ্যাড করুন: TCP_IN = 80,443,8000
  2. CSF এবং LFD রিস্টার্ট করুন:
    • CSF > Restart CSF+LFD

৫. ক্রোনট্যাব সেটআপ (অটোমেটিক রিস্টার্টের জন্য)

  1. crontab -e কমান্ড দিয়ে ক্রোন ট্যাব খুলুন: crontab -e
  2. ক্রোন ট্যাব এ সময় নির্ধারণ করে কমান্ড যুক্ত করুন: @reboot pm2 start /home/macbookonrent/public_html/nestjsbackend/20/bin/npm --name "nestjs-backend" -- start

৬. ফায়ারওয়াল কনফিগারেশন (iptables দিয়ে)

এখন আপনি আপনার ফায়ারওয়াল সেটআপ করতে পারেন যদি CSF ছাড়া আপনি iptables ব্যবহার করতে চান।

  1. iptables দিয়ে পোর্ট ৮০০০ অ্যাড করুন: sudo iptables -A INPUT -p tcp --dport 8000 -j ACCEPT
  2. ফায়ারওয়াল কনফিগারেশনে CSFiptables এর মধ্যে মেশানো সমস্যা এড়িয়ে CSF ব্যবহার করুন, তবে আপনি iptables ছাড়া একই কাজ করতে পারবেন।

৭. Nginx কনফিগারেশন (Optional)

যদি আপনি Nginx ব্যবহার করতে চান, তাহলে আপনি নিচের কনফিগারেশন ফাইলটি যুক্ত করতে পারেন:

  1. Nginx কনফিগারেশন:
    • আপনার nginx.conf ফাইলে নিচের মতো কনফিগারেশন যোগ করুন: server { listen 80; server_name your-domain.com; location / { proxy_pass http://localhost:8000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }

৮. অ্যাপ্লিকেশন অ্যাক্সেস করা

অ্যাপ্লিকেশন ৮০০০ পোর্টে চলমান থাকলে, আপনি ডোমেইন দিয়ে অ্যাক্সেস করতে পারবেন:

http://your-domain.com:8000

এখানে আপনি Nginx অথবা Apache সার্ভারের মাধ্যমে পোর্ট ৮০০০ রিডাইরেক্ট করতে পারেন।


এখন আপনার NestJS অ্যাপ্লিকেশন সঠিকভাবে সিপ্যানেলWHM ব্যবহার করে হোস্ট করা আছে এবং আপনি ক্রোনট্যাব, ফায়ারওয়াল কনফিগারেশনসহ পুরো সিস্টেমটি সফলভাবে সেটআপ করেছেন।

How can we help?