2015年(73)
分类: LINUX
2015-01-09 09:07:56
最近workstation备份把home目录清空了,于是重新配了一下Django,发现之前的设置什么的全部都忘光了-__-! 看来必须记一记才行,免得再要重配的时候东找西找。
俺用的是ubuntu,装包什么的最方便了.
Pip - 的包获取/安装工具,相当好用。django各个版本它都有:
sudo apt-get install python-pip
Django - 装原来用过的版本。不然的话会有很多兼容的问题(坑)。我用的是1.4.5的版本:
pip install django==1.4.5
Apache - 一般都是2.2.1吧:
sudo apt-get install apache2
MySQL - 装个server就够了:
sudo apt-get install -server
MySQLdb - MySQL跟Django的data layer:
sudo apt-get install python-mysqldb
Mod_wsgi - 支持Apache模块和python应用的通信组件:
sudo apt-get install lib2-mod-wsgi
如果你已经有项目了,直接mv项目到/var/www/下面就行了。如果是新项目,同样到www的目录下新建一个项目: django-admin.py startproject your-app
cd去/etc/apache2/site-available/下,把80端口的virtuahost换了。
ServerAdmin your-app ServerName your-app.com DocumentRoot /var/www/your-app Options FollowSymLinks AllowOverride None Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined Alias /doc/ "/usr/share/doc/"Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128
在/var/www/下新建一个文件夹叫apache,然后在文件夹里面新建一个叫django.wsgi的文件,加入以下:
import os import sys import django.core.handlers.wsgi sys.stdout=sys.stderr sys.path.append(r'/var/www/your-app') os.environ['DJANGO_SETTINGS_MODULE']='settings' application=django.core.handlers.wsgi.WSGIHandler()
如果你有多个app分支,建议把setting分开成多个配置文件,这个下次讲。然后再切到/etc/apache2/下面,在httpd.conf里面加上:
WSGIScriptAlias / /var/www/apache/django.wsgi WSGIScriptAlias / /var/www/apache/django.wsgi
mysql -u root -p your 进入MySQL,建一个新的database create database new_database 。在setting里面加入MySQL信息:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'new_database', 'USER': 'root', 'PASSWORD': 'your password', 'HOST': 'lohost', 'PORT': '3306', } }
一些路径的配置:
INSTALLED_APPS = ('your-app') #加入你的app DEBUG = True #开debug,如果是prod请设置成False TEMPLATE_DEBUG = DEBUG SITE_URL = '/var/www/your-app' MEDIA_ROOT = SITE_URL + '/media/' TEMPLATE_DIRS = (SITE_URL + '/template',) STATIC_PATH = SITE_URL + "/static/"
大功告成~