てきとう

ワーワーゆうとります

CentOS5.3 + Python 2.5.4 + Django1.3をmod_wsgiで動かすよー

ひさしぶりにぶっこんだのでメモします。
参考:http://docs.nullpobug.com/django-doc-ja/trunk/howto/deployment/modwsgi.html

  • 前提

CentOS 5.x
Python 2.5(複数バージョン導入済みだけど2.5を使うよ)

  • ところでCentOSのバージョンを忘れたから確認
# cat /etc/redhat-release

5.3だったよ。

  • djangoをもらってくる

django http://www.djangoproject.com/download/

# cd /usr/local/src
# wget http://www.djangoproject.com/download/1.3/tarball/
  • 解凍〜インストール
 # tar xzvf Django-1.3.tar.gz
 # cd Django-1.3
 # sudo python setup.py install

これでインストール完了。

  • プロジェクトつくる
 # mkdir /var/www/django
 # cd /var/www/django
 # django-admin.py startproject myproject

ここでpythonが複数インストールされていたのでエラーがおきました。

# vi /usr/local/bin/django-admin.py

   #!/usr/local/bin/python
   ↓ 変更
   #!/usr/local/bin/python2.5

そんでもう一回

 # django-admin.py startproject myproject

動く、こいつ、動くぞ!

  • mod_wsgiで動かす

プロジェクトのディレクトリに移動して、ディスパッチャー的なやつをつくります。

 # cd myproject
 # vi django.wsgi
    • django.wsgiの中身
   #!/usr/local/bin/python2.5
   import os
   import sys
   sys.path.append('/var/www/django')

   os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'
   import django.core.handlers.wsgi
   application = django.core.handlers.wsgi.WSGIHandler()

そしてhttpdで読み込んでもらうためのコンフィグファイルをつくります。

# vi /etc/httpd/conf.d/mod_wsgi.conf
    • mod_wsgi.confの中身
   WSGIScriptAlias /test /var/www/django/myproject/django.wsgi

さっき作ったwsgiの設定ファイルを読み込んでもらう。


そしてhttp://hoge.com/testにアクセスしたら、「It worked!」という素敵な画面と、であったー。