Web2Py তে WSGI সার্ভার ইন্টিগ্রেশন করার মাধ্যমে আপনি Apache বা Nginx সার্ভারের সঙ্গে Web2Py অ্যাপ্লিকেশন চালাতে পারেন, যা বেশি ট্রাফিক এবং বড় আকারের অ্যাপ্লিকেশন ব্যবস্থাপনা সহজ করে। WSGI (Web Server Gateway Interface) হল একটি স্ট্যান্ডার্ড ইন্টারফেস যা ওয়েব অ্যাপ্লিকেশন এবং ওয়েব সার্ভারের মধ্যে যোগাযোগ প্রতিষ্ঠা করে।
Web2Py তে Apache বা Nginx সার্ভারের সাথে WSGI ইন্টিগ্রেশন করার মাধ্যমে আপনি অ্যাপ্লিকেশনটি প্রোডাকশন পরিবেশে সফলভাবে চালাতে পারেন।
নিচে Web2Py WSGI সার্ভার ইন্টিগ্রেশন (Apache এবং Nginx) এর জন্য ধাপে ধাপে গাইড দেওয়া হলো।
Web2Py তে WSGI সার্ভার ইন্টিগ্রেশন
১. Apache সার্ভারের সাথে WSGI ইন্টিগ্রেশন
Apache সার্ভার ব্যবহার করার সময় আপনি mod_wsgi মডিউল ব্যবহার করতে পারেন, যা Python অ্যাপ্লিকেশনগুলিকে Apache সার্ভারের সঙ্গে ইন্টিগ্রেট করে।
ধাপ ১: mod_wsgi ইনস্টল করা
Apache তে WSGI ইন্টিগ্রেশন করার জন্য প্রথমে আপনাকে mod_wsgi মডিউল ইনস্টল করতে হবে। আপনার অপারেটিং সিস্টেম অনুযায়ী এটি ইনস্টল করা যেতে পারে:
Ubuntu/Debian:
sudo apt-get install libapache2-mod-wsgi-py3CentOS/Fedora:
sudo yum install mod_wsgi
ধাপ ২: Apache কনফিগারেশন ফাইল আপডেট করা
আপনি web2py.wsgi ফাইলটি তৈরি করতে হবে এবং Apache কনফিগারেশন ফাইলে সঠিকভাবে নির্দেশ করতে হবে।
Web2Py অ্যাপ্লিকেশন ডিরেক্টরির মধ্যে একটি
web2py.wsgiফাইল তৈরি করুন।web2py.wsgi:
import sys sys.path.insert(0, '/path/to/web2py') from gluon.main import app application = app()Apache কনফিগারেশন ফাইলে এই
wsgiফাইলের পাথটি সঠিকভাবে উল্লেখ করুন। সাধারণত এটি/etc/apache2/sites-available/000-default.confবা/etc/httpd/conf/httpd.confফাইলে করা হয়।Apache কনফিগারেশন:
<VirtualHost *:80> ServerName yourdomain.com DocumentRoot /path/to/web2py WSGIDaemonProcess web2py user=www-data group=www-data threads=5 WSGIScriptAlias / /path/to/web2py/web2py.wsgi <Directory /path/to/web2py> WSGIProcessGroup web2py WSGIApplicationGroup %{GLOBAL} Require all granted </Directory> </VirtualHost>Apache সার্ভার পুনরায় চালু করুন:
sudo systemctl restart apache2
২. Nginx সার্ভারের সাথে WSGI ইন্টিগ্রেশন
Nginx সাধারণত Python অ্যাপ্লিকেশনের জন্য uWSGI বা Gunicorn সার্ভার ব্যবহার করে, যা WSGI অ্যাপ্লিকেশন হিসেবে কাজ করে। এখানে আমরা uWSGI এর মাধ্যমে Nginx এর সাথে Web2Py ইন্টিগ্রেট করার প্রক্রিয়া দেখাবো।
ধাপ ১: uWSGI ইনস্টল করা
Nginx এর সাথে WSGI ইন্টিগ্রেশন করতে আপনাকে uWSGI ইনস্টল করতে হবে।
Ubuntu/Debian:
sudo apt-get install uwsgi
ধাপ ২: uWSGI কনফিগারেশন
web2py.wsgi ফাইলটি তৈরি করুন এবং uWSGI কে Web2Py অ্যাপ্লিকেশন চালানোর জন্য কনফিগার করুন।
web2py.wsgi ফাইল তৈরি করুন:
web2py.wsgi:
import sys sys.path.insert(0, '/path/to/web2py') from gluon.main import app application = app()uWSGI কনফিগারেশন: এখন আপনাকে uWSGI সার্ভার চালাতে হবে, যা Nginx এর মাধ্যমে Web2Py অ্যাপ্লিকেশন চালাবে।
আপনি একটি uWSGI কনফিগারেশন ফাইল তৈরি করতে পারেন:
uwsgi.ini:
[uwsgi] http = 127.0.0.1:9000 wsgi-file = /path/to/web2py/web2py.wsgi processes = 4 threads = 2 master = true chdir = /path/to/web2pyuWSGI চালানো:
uwsgi --ini /path/to/uwsgi.ini
ধাপ ৩: Nginx কনফিগারেশন
Nginx কনফিগারেশন ফাইলে uWSGI সার্ভার এর সাথে যোগাযোগ স্থাপন করতে হবে।
Nginx কনফিগারেশন ফাইল (
/etc/nginx/sites-available/defaultঅথবা/etc/nginx/nginx.conf) আপডেট করুন।Nginx কনফিগারেশন:
server { listen 80; server_name yourdomain.com; location / { include uwsgi_params; uwsgi_pass 127.0.0.1:9000; uwsgi_param UWSGI_SCRIPT /path/to/web2py/web2py.wsgi; } }Nginx সার্ভার পুনরায় চালু করুন:
sudo systemctl restart nginx
৩. Web2Py এর WSGI সার্ভার ইন্টিগ্রেশন পরীক্ষা করা
আপনি এখন আপনার ব্রাউজারে গিয়ে আপনার ডোমেইন বা IP ঠিকানা দিয়ে পরীক্ষা করতে পারবেন:
http://yourdomain.com
আপনি যদি Apache বা Nginx সার্ভারের সাথে সফলভাবে WSGI ইন্টিগ্রেট করেন, তবে Web2Py অ্যাপ্লিকেশনটি চালু হয়ে যাবে।
সারাংশ
Web2Py তে WSGI সার্ভার ইন্টিগ্রেশন Apache এবং Nginx সার্ভারের সাথে খুব সহজেই করা যায়। আপনি mod_wsgi ব্যবহার করে Apache তে বা uWSGI ব্যবহার করে Nginx সার্ভারের সাথে Web2Py ইন্টিগ্রেট করতে পারেন। এই প্রক্রিয়া ব্যবহারে আপনার অ্যাপ্লিকেশনটি প্রোডাকশন পরিবেশে দ্রুত এবং স্থিতিশীলভাবে চালানো সম্ভব হয়।
Read more