09 : Deplop django Project – প্রোডাকসান সার্ভার (Nginx) এবং জ্যাঙ্গো
How to run Python Django Project on cPanel Shared Hosting | Without Terminal
Installation of Python Django in cPanel :
1.) Log in to your cPanel control panel.
2.) In the Software section, select “Setup Python App”
3.) Select the desired Python version from the drop-down list. …
3.) Select the path to install, and also select the domain on which you want to install the framework.
4.) Select your domain name from the Application URL drop-down list. Click the “Setup” button, wait until the installation is complete.
It’s hard to deploy python Django project in cPanel without Terminal, Here’s how you can do it.
First, create a requirements.txt of your project. Now zip and upload the project into your hosting server/shared host and extract it,
Now, using cPanel install requirements.txt then on the application root, there will be a passenger_wsgi.py file open the file change and import application from your project wsgi eg. “from mydjangoapp.wsgi import application ” restart the python app, it should be working.
Fix the static by changing static dir to public_html and moving the files to public_html your domain root dir.
Deplop django – প্রোডাকসান সার্ভার (Nginx) এবং জ্যাঙ্গো
জ্যাঙ্গো দিয়ে আমাদের কাজ করার সময় আমরা বিল্ট-ইন ডেভেলপমেন্ট সার্ভার ব্যবহার করতাম। এতে কাজ করতে সুবিধা হলেও এটা প্রডাকশন লেভেলে ব্যবহারের অনুপযোগী । তাই আমাদেরকে কোন প্রোদাকশান সার্ভার ব্যবহার করতে হয়। এই টিউটোরিয়ালে আমরা Nginx ব্যবহার করবো।
যেহেতু সার্ভারে লিনাক্স ব্যবহৃত হয়, তাই আমরা লিনাক্স এই টিউটোরিয়ালে লিনাক্স ব্যবহার করবো। আপনারা যারা windows ব্যবহার করেন কিংবা লিনাক্স ব্যবহারের পরও একটু সতর্ক থাকতে চান (যাতে আপনার working laptop এ ঝামেলা না হয় আরকি,… ) , তারা ভারচুয়াল বক্সে লিনাক্স ব্যবহার করতে পারেন। আমি নিজেও কিছুটা ঝামেলায় পরেছিলাম, তাই ভারচুয়াল বক্সে উবুন্টু সার্ভার ইন্সটল করে সেখানে জ্যাঙ্গো প্রোডাকশান করেছিলাম। সুতরাং ঝামেলা কমাতে এটি একটু ভাল উপায়।
আমাদের ১টা জ্যাঙ্গো প্রোজেক্ট দরকার। ছোটখাটো হেলো ওয়ার্ল্ড জাতিয় হলেই চলবে। ধরুন প্রোজেক্টের নাম webapp
. এরপর settings ফাইলে অ্যাড করুন ঃ
, এরপর টার্মিনালে রান করুন
এবার এই প্রোজেক্টকে ভারচুয়াল বক্সে আনতে হবে। আমি গিটহাব-এ কোড আপলোড করে ভারচুয়াল বক্সে ডাউনলোড করেছিলাম।
২। উবুন্টুতে nginx ইন্সটল করুন:
আমই প্রোজেক্টটাকে এখানে রেখেছি ঃ /home/(user-name)/
তাই আমার প্রোজেক্টের রুট ডাইরেক্টরি হলোঃ /home/(user-name)/(project-name)
এবং আমার এই ক্ষেত্রে তা ঃ /home/fahimfarhan/webapp
আপনার ক্ষেত্রে প্রয়োজন মতো পরিবর্তন করে নিবেন, নাহলে ঠিক মতো কাজ করবে না।
৩। $ cd /etc/nginx/sites-available
এই লোকেশানে যান, এখানে কিছু কাজ করতে হবে। এই লকেশানে পারমিশন-এর ব্যাপার আছে, তাই আমাদেরকে sudo sudo
ব্যবহার করতে হবে।
আমার খেত্রেঃ
এবার webapp ফাইলটি ওপেন করুন (sudo ব্যবহার করতে হবে, যেমন টার্মিনাল থেকে sudo gedit webapp
/ sudo vim webapp
) এবং টাইপ করুনঃ
এখানে (user-name) ও (project) প্রয়োজন মতো পরিবর্তন করুন। অনেক সময় পোর্ট নম্বর পরিবর্তন করা লাগতে পারে। এবার টার্মিনাল এ এই কমান্ড রান করে একটি লিঙ্ক তইরি করুন ঃ
এবার nginx রিস্টার্ট করুন ঃ
আপনার প্রোজেক্ট রুট ডাইরেক্টরিতে যানঃ
nginx দিয়ে সিএসএস , জাভাস্ক্রিপ্ট সারভ হয়, আর আমাদের মুল প্রোজেক্ট রান করতে gunicorn দরকার। তাই গুনিকরন না থাকলে ইন্সটল করুন
এবং এই কমান্ড টাইপ করুন ঃ
এবং আমার ক্ষেত্রে কমান্ডটি দেখতে এরকম ঃ
এইভাবে আমরা nginx দিয়ে আমাদের প্রোজেক্টকে প্রোডাকশানে ব্যবহার করতে পারি।
-
Install ubuntu server: https://hibbard.eu/install-ubuntu-virtual-box/
-
django with nginx: http://rahmonov.me/posts/run-a-django-app-with-nginx-and-gunicorn/
-
youtube tutorial: https://youtu.be/4Ouc1VPNpMU