在Dreamhost上é…ç½®Django
看了很多指å—,Guideä¹‹ç±»çš„ä¸œè¥¿ï¼Œä¹Ÿå·æ‡’了很长时间。最近想练练手,用Django写点东西玩玩,所以还是记录一下过程,以备å‚考。好记性ä¸å¦‚烂笔头,IT尤其如æ¤ã€‚
ã€Šå‰ææ¡ä»¶ã€‹
- 1.在 Dreamhost çš„æŽ§åˆ¶é¢æ¿é‡Œï¼Œå°†å‡†å¤‡ä½¿ç”¨ Django 的(å)域åé…ç½®æˆ Enable FastCGI ã€‚å› ä¸º Dreamhost 䏿”¯æŒ mod_python ,åªèƒ½é€šè¿‡ Fast CGI æ¥è°ƒç”¨ Django 。
- 2.用 SSH 连上 Dreamhost ä¸»æœºï¼Œæ¤æ—¶åº”è¯¥åœ¨è‡ªå·±çš„ç”¨æˆ·æ ¹ç›®å½•ä¸‹ã€‚
《设置过程》
※直接贴代ç 。请将域åã€ç›®å½•åã€æ–‡ä»¶åæ¢æˆè‡ªå·±çš„。
- 0.设置环境å˜é‡
$> export PROJECTSHOME=$HOME/myprojects $> mkdir $PROJECTSHOME $> export SOFTWAREHOME=$HOME/mysoftware $> mkdir $SOFTWAREHOME $> export DOMAINROOT=$HOME/org.jbobos.onlinelist $> export PROJECTNAME=djsite_onlinelist
- 1.安装Django
$> cd $SOFTWAREHOME $> wget http://media.djangoproject.com/releases/1.0.2/Django-1.0.2-final.tar.gz $> tar xzvf Django-1.0.2-final.tar.gz $> cd $HOME $> echo 'export PATH=$PATH:'$SOFTWAREHOME/Django-1.0.2-final/django/bin >> .bash_profile $> echo 'export PYTHONPATH=$PYTHONPATH:'$SOFTWAREHOME/Django-1.0.2-final:$PROJECTSHOME >> .bash_profile $> source .bash_profile
- 2.建立工程
$> cd $PROJECTSHOME $> django-admin.py startproject $PROJECTNAME
- 3.é…ç½®FastCGI
$> cd $DOMAINROOT $> rm -f fcgi.py $> wget http://svn.saddi.com/py-lib/trunk/fcgi.py $> rm -f dispatch.fcgi $> touch dispatch.fcgi $> echo -e \#\!"/usr/bin/python2.4" >> dispatch.fcgi $> echo "import sys" >> dispatch.fcgi $> echo "sys.path += ['$SOFTWAREHOME/Django-1.0.2-final']" >> dispatch.fcgi $> echo "sys.path += ['$PROJECTSHOME']" >> dispatch.fcgi $> echo "from fcgi import WSGIServer" >> dispatch.fcgi $> echo "from django.core.handlers.wsgi import WSGIHandler" >> dispatch.fcgi $> echo "import os" >> dispatch.fcgi $> echo "os.environ['DJANGO_SETTINGS_MODULE'] = '$PROJECTNAME.settings'" >> dispatch.fcgi $> echo "WSGIServer(WSGIHandler()).run()" >> dispatch.fcgi $> chmod 755 $DOMAINROOT/fcgi.py $> chmod 755 $DOMAINROOT/dispatch.fcgi
- 4.é…ç½®.htaccess
$> cd $DOMAINROOT $> rm -f .htaccess $> touch .htaccess $> echo "RewriteEngine On" >> .htaccess $> echo "RewriteBase /" >> .htaccess $> echo "RewriteRule ^(dispatch\.fcgi/.*)$ - [L]" >> .htaccess $> echo "RewriteRule ^(.*)$ dispatch.fcgi/"\$1" [L]" >> .htaccess
- 5.注æ„事项
ç»è¿‡ä¸Šé¢0~4çš„é…置,现在在æµè§ˆå™¨ä¸è¾“å…¥onlinelist.jbobos.org,应该å¯ä»¥çœ‹åˆ°Djangoå¯åŠ¨çš„ç”»é¢äº†ã€‚å¦å¤–,dispatch.fcgiå¯ä»¥ç›´æŽ¥è¿è¡Œã€‚它会将HTML代ç ç›´æŽ¥è¾“å‡ºåˆ°æ ‡å‡†è¾“å‡ºã€‚è°ƒè¯•çš„æ—¶å€™å¯ä»¥ä½¿ç”¨ã€‚如果修改了全局的settings,需è¦ç”¨å‘½ä»¤ã€touch dispatch.fcgiã€‘é‡æ–°è½½å…¥ã€‚
《å‚考资料》
- Django on Dreamhost(http://wiki.dreamhost.com/index.php/Django)