Web Development Cloud Platforms (AWS, Heroku) এ ডেপ্লয় করা গাইড ও নোট

162

Web2Py অ্যাপ্লিকেশনকে Cloud Platforms যেমন AWS (Amazon Web Services) এবং Heroku এ ডেপ্লয় (Deploy) করা খুবই সহজ এবং কার্যকরী। এখানে, AWS এবং Heroku উভয় প্ল্যাটফর্মেই Web2Py অ্যাপ্লিকেশন ডেপ্লয় করার পদ্ধতি বিস্তারিতভাবে আলোচনা করা হলো।


Web2Py অ্যাপ্লিকেশন AWS এ ডেপ্লয় করা

AWS (Amazon Web Services) একটি অত্যন্ত জনপ্রিয় ক্লাউড প্ল্যাটফর্ম, যা ভার্চুয়াল মেশিন (EC2), ডাটাবেস (RDS), স্টোরেজ (S3), এবং অন্যান্য ক্লাউড সেবা প্রদান করে। Web2Py অ্যাপ্লিকেশন AWS EC2 ইন্সট্যান্সে ডেপ্লয় করা যেতে পারে।

১. AWS EC2 ইন্সট্যান্স তৈরি করা

  1. AWS অ্যাকাউন্টে লগইন: প্রথমে AWS কনসোল এ লগইন করুন। যদি আপনার অ্যাকাউন্ট না থাকে, তবে একটি নতুন অ্যাকাউন্ট তৈরি করুন।
  2. EC2 ইন্সট্যান্স তৈরি করুন:
    • EC2 Dashboard এ গিয়ে একটি নতুন Instance তৈরি করুন।
    • Ubuntu বা Amazon Linux নির্বাচন করুন (Web2Py সাধারণত লিনাক্সে রান করে)।
    • ইন্সট্যান্স টাইপ নির্বাচন করুন (যেমন, t2.micro ফ্রি টিয়ার জন্য)।
    • একটি Key Pair তৈরি করুন, যা SSH এর মাধ্যমে EC2 ইন্সট্যান্সে অ্যাক্সেস প্রদান করবে।
  3. Security Group তৈরি করা: EC2 ইন্সট্যান্সের জন্য একটি Security Group তৈরি করুন, যা HTTP (port 80) এবং SSH (port 22) খুলে দিবে।

২. Web2Py ইনস্টল করা

EC2 ইন্সট্যান্স তৈরি হওয়ার পর, SSH এর মাধ্যমে ইন্সট্যান্সে লগইন করুন।

  1. SSH মাধ্যমে EC2 ইন্সট্যান্সে লগইন:

    ssh -i /path/to/your-key.pem ubuntu@your-ec2-public-ip
    
  2. Web2Py ইনস্টল করা: Ubuntu এর ক্ষেত্রে, Web2Py ইনস্টল করার জন্য নিচের কমান্ডগুলো ব্যবহার করুন:

    sudo apt-get update
    sudo apt-get install python3-pip
    sudo apt-get install python3-dev
    sudo apt-get install build-essential
    sudo pip3 install web2py
    

৩. Web2Py অ্যাপ্লিকেশন আপলোড এবং চালানো

  1. Web2Py ডিরেক্টরি তৈরি করা: EC2 ইন্সট্যান্সে একটি নতুন ডিরেক্টরি তৈরি করুন এবং Web2Py ইনস্টল করুন:

    mkdir /home/ubuntu/web2py
    cd /home/ubuntu/web2py
    
  2. Web2Py অ্যাপ্লিকেশন আপলোড করা: Web2Py অ্যাপ্লিকেশন ডেভেলপ করে তৈরি করুন এবং EC2 ইন্সট্যান্সে আপলোড করুন (যেমন, SFTP বা SCP দিয়ে)।
  3. Web2Py চালানো:

    python3 web2py.py -i 0.0.0.0 -p 80
    
    • -i 0.0.0.0: সমস্ত IP অ্যাড্রেস থেকে অ্যাক্সেস দেয়।
    • -p 80: HTTP পোর্ট 80 এ সার্ভার চালায়।

৪. DNS কনফিগারেশন (ঐচ্ছিক)

AWS Route 53 বা অন্য DNS সার্ভিস ব্যবহার করে আপনি ডোমেইন নাম সেট করতে পারেন, যেমন www.yourapp.com


Web2Py অ্যাপ্লিকেশন Heroku এ ডেপ্লয় করা

Heroku একটি ক্লাউড প্ল্যাটফর্ম, যা আপনাকে দ্রুত ওয়েব অ্যাপ্লিকেশন ডেপ্লয় করার সুবিধা দেয়। Heroku Web2Py অ্যাপ্লিকেশনও সহজেই হোস্ট করতে পারে।

১. Heroku অ্যাকাউন্ট তৈরি এবং CLI ইনস্টল করা

  1. Heroku অ্যাকাউন্টে সাইন আপ করুন: Heroku Sign Up
  2. Heroku CLI ইনস্টল করুন: Heroku এর কমান্ড লাইন ইন্টারফেস (CLI) ইনস্টল করতে হবে। Heroku CLI ডাউনলোড করুন

২. Heroku এ অ্যাপ্লিকেশন তৈরি করা

  1. Heroku CLI এ লগইন করুন:

    heroku login
    
  2. Heroku অ্যাপ তৈরি করুন: Web2Py অ্যাপ্লিকেশন হোস্ট করতে, একটি নতুন Heroku অ্যাপ তৈরি করুন:

    heroku create your-app-name
    

৩. Web2Py ডেপ্লয়মেন্ট কনফিগারেশন

  1. Web2Py অ্যাপ্লিকেশন GitHub রেপোজিটরি তে আপলোড করুন:
    • যদি আপনার Web2Py অ্যাপ্লিকেশন GitHub এ না থাকে, তবে সেটি GitHub এ আপলোড করুন।
    • তারপর Heroku এর সাথে GitHub রেপোজিটরি কানেক্ট করুন।
  2. Procfile তৈরি করুন: Heroku তে Web2Py অ্যাপ্লিকেশন চলানোর জন্য একটি Procfile তৈরি করতে হবে।

    Procfile এর কনটেন্ট:

    web: python3 web2py.py -i 0.0.0.0 -p $PORT
    

    এটি Heroku এর সাথে Web2Py সার্ভার কনফিগার করবে, যাতে Web2Py অ্যাপ্লিকেশন চলতে পারে।

  3. Heroku গিট রেপোজিটরি পুশ করুন: Web2Py অ্যাপ্লিকেশনটি GitHub থেকে Heroku এ পুশ করুন:

    git push heroku master
    

৪. Heroku অ্যাপ্লিকেশন চালানো

Heroku স্বয়ংক্রিয়ভাবে Web2Py অ্যাপ্লিকেশনটি চালু করবে। এরপর আপনি ব্রাউজারে গিয়ে আপনার Web2Py অ্যাপ্লিকেশন অ্যাক্সেস করতে পারবেন।

  • Heroku অ্যাপের URL:

    https://your-app-name.herokuapp.com
    

সারাংশ

AWS এবং Heroku উভয়ই Web2Py অ্যাপ্লিকেশন হোস্ট করার জন্য চমৎকার প্ল্যাটফর্ম।

  • AWS ব্যবহার করলে আপনাকে EC2 ইনস্ট্যান্স এবং সেলফ-ম্যানেজড সার্ভার সেটআপ করতে হবে।
  • Heroku তে Web2Py অ্যাপ্লিকেশন ডেপ্লয় করা আরও সহজ, যেখানে আপনি শুধুমাত্র Procfile কনফিগার করে GitHub থেকে অ্যাপ পুশ করে ডেপ্লয় করতে পারেন।

উল্লেখযোগ্য যে, Heroku সাধারণত ছোট অ্যাপ্লিকেশন এবং প্রোটোটাইপের জন্য উপযুক্ত, তবে AWS একটি শক্তিশালী এবং স্কেলেবল ইনফ্রাস্ট্রাকচার প্রদান করে যা বড় প্রোডাকশন অ্যাপ্লিকেশনগুলো হোস্ট করতে সক্ষম।

Content added By
Promotion

Are you sure to start over?

Loading...