11.1.13

गोडैडी पर पाइथन जैंगो, फ़ास्टसीजीआई के साथ

अन्यत्र सेब पर पाइथन जैंगो चढ़ाने के बारे में लिखा था, उसके मुकाबले गोडैडी की लिनक्स होस्टिंग में पाइथन चढ़ाना थोड़ा सरल है।


आपके पास ssh की सुविधा होनी चाहिए। अपने स्थल पर ssh करें। वहाँ पर आपको कुछ ऐसा दिखेगा -

सबसे पहले देखें कि आपकी cgi चल रही है कि नहीं। उसके लिए ~/cgi/test.cgi बनाएँ -



#!/usr/bin/env python
'''
This is a comment,
If you see this, CGI is not working
'''
print "Content-type: text/html\n\n"
print "Test"



उसके बाद, इसे चला के देखें, http://example.com/cgi/test.cgi के जरिए। example.com के बदले अपना डोमेन दें।

यदि आपको पन्ने पर Test दिखता है तो ठीक है वरना गोडैडी का द्वार खटखटाएँ।

इसके बाद, यह सुनिश्चित करें कि आप हमेशा सबसे ताज़े पाइथन का इस्तेमाल करें। अपने $PATH में देखें कि आपके पास कौन कौन सी पाइथन है, आमतौर पर /usr/bin और /usr/local/bin में आपको ये मिलेंगे।

$ cd /usr/local/bin
$ ls python*
python2.7 python2.7-config
$ cd /usr/bin
$ ls python*
python python2 python2.3 python2.4


हमें python2.7 का इस्तेमाल करना है। इसके लिए,


$ cd
$ mkdir -p bin
$ cd bin
$ ln -s /usr/local/bin/python2.7 python
$ export PATH=~/bin:$PATH
$ python -V
Python 2.7.3
$ mkdir -p ~/lib/python-packages
$ export PYTHONPATH=~/lib/python-packages:$PYTHONPATH


$PATH और $PYTHONPATH को आप अपनी ~/.profile में डाल सकते हैं ताकि हर बार ये न करना पड़े।

अब, किसी भी पाइथन फ़ाइल में आप शुरू में यह दे सकते हैं -


#!/usr/bin/env python


और सही पाइथन का इस्तेमाल होगा।

तो ये हुआ पाइथन। अब आते हैं जैंगो पर। पहले, देखें कि कौना सा जैंगो उतारना है। यह लेख लिखने के समय १.४.३ था। इसे उतारें।


$ cd ~/lib/python-packages
$ wget https://www.djangoproject.com/download/1.4.3/tarball/
$ tar zxvf Django-1.4.3.tar.gz
$ mv Django-1.4.3/django .


फिर, यही काम flup के लिए करें। यह FastCGI के लिए लगेगा।

$ cd ~/lib/python-packages
$ wget http://pypi.python.org/packages/source/f/flup/flup-1.0.2.tar.gz
$ tar zxvf flup-1.0.2.tar.gz
$ mv flup-1.0.2/flup .


अब जाँच लें।

$ python
>>> import django
>>> import flup
>>> 


अपने $PATH में जैंगो की फ़ाइलें भी डालें।

export PATH=~/lib/python-packages/django/bin:$PATH


इसे भी आप अपनी .profile में डाल सकते हैं।

इसके बाद, एक जैंगो परियोजना बनाएँ।


$ cd
$ django-admin.py startproject mysite


mysite के बदले अपनी इच्छानुसार नाम दें।
यह होने के बाद आपको इस प्रकार का ढाँचा मिलेगा -

$ ls -R mysite
mysite:
mysite manage.py

mysite/mysite:
__init__.py settings.py urls.py wsgi.py




इसके बाद, अपनी ~/html में एक dispatch.cgi बनाएँ -


#!/usr/bin/env python

import sys, os
sys.path +=['/absolute/path/to/lib/python-packages']
sys.path +=['/absolute/path/to/mysite']
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

from flup.server.fcgi import WSGIServer
from django.core.handlers.wsgi import WSGIHandler
WSGIServer(WSGIHandler()).run()




mysite के बदले अपना चुना नाम दें।
इसके बाद,

$ chmod +x ~/html/dispatch.cgi
$ ~/html/dispatch.cgi


अगर इससे आपको पर्दे पर कुछ हटमल दिखती है, तो समझिए अब तक सब ठीक है।

अब बचा है आँकड़ाकोष का जमाव और अपाची को ्dispatch.cgi की ओर मोड़ना, वह सब अगली बार।

आभार, दो साल पुराने इस लेख का और जैंगो ट्यूटोरियल का।