以下安装的软件均为2012-5-6日下载的最新版
ubuntu下安装nginx
1.安装zlib : sudo apt-get install zlib1g-dev
2.安装pcre: sudo apt-get install libpcre3 libpcre3-dev
3.安装openssl :
sudo apt-get install openssl
sudo apt-get install libssl-devsudo apt-get install libssl0.9.8
上述步骤完成后,可以开始安装Nginx.
4.安装uwsgi
在uwsgi的解压目录,sudo make
如果出现错误:Python.h:没有那个文件或目录编译中断。
则需要sudo apt-get install python-dev
5.安装django.
6.用django创建一个项目:
django-admin.py startproject mysite
7.用uwsgi hold django
uwsgi --socket 127.0.0.1:3031 --chdir <path to your project directory> --pp .. -w django_wsgi 8.在第六步创建的mysite下面可以看到如下目录: manage.py mysite mysite中又包括:__init__.py settings.py urls.py wsgi.py 在manage.py 这一层创建文件django.xml 内容如下: <uwsgi> <socket>127.0.0.1:9090</socket> <chdir>path to mysite project</chdir> <pythonpath>..</pythonpath> <module>django_wsgi</module> </uwsgi> 在manage.py同一文件层次,也即settings.py的上一文件层次下创建文件 wsgi_app.py 这个wsgi_app的名称和nginx中要配置的UWSGI_SCRIPT一致。 内容如下: #! /usr/bin/env python # coding: utf-8 import os os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings' #mysite就是工程的名字,根据工程名字不一样,上面赋值右边内容也不一样,总之就是到settings.py的上一级目录+'.settings' 配置nginx: localhost /{ uwsgi_pass 127.0.0.1:9090#要和django.xml中socket一致 uwsgi_param UWSGI_CHDIR PATH TO mysite project #和django.xml中chdir一致 uwsgi_param UWSGI_SCRIPT wsgi_app #和在mysite工程下创建的python文件名一致 include uwsgi_params } 启动uwsgi: ./uwsgi --socket 127.0.0.1:9090 --chdir path to mysite --pp .. -w django_wsgi 或者将uwsgi加入系统变量中 修改/etc/profile UWSGI_HOME = THE PATH YOUR UWSGI INSTALLED PATH = $UWSGI_HOME:$PATH
windows下:
需要安装setuptools:http://peak.telecommunity.com/dist/ez_setup.py
mysqldb:http://blog.chinaunix.net/uid-8487640-id-3183185.html
在windows下安装mysqldb会出现一个错误:
serverKey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, options['registry_ke
'])
indowsError: [Error 2]
解决方法:
http://home.51.com/hj3389561/diary/item/10051715.html
http://xiaozhen1900.blog.163.com/blog/static/174173257201271210114824/
Django使用中出现的一些初级问题:
1.models中的对象名称和数据库中的对象名称的关系
数据库的名字应该是 model{python工程中建立的包名?}_model{models.py中的class名字?}.
NoReverseMatch at /admin/
Reverse for 'logout' with arguments '()' and keyword arguments '{}' not found.
解决方案:
(r'^admin/(.*)', include(admin.site.urls)),
Should be
(r'^admin/', include(admin.site.urls)),