LAMP环境搭建:python-django
pip python包管理工具 yum install python-pip -y需要配置epel源
django python的web框架,pip install django -y安装
mod_wsgi 连接apache和django的模块 yum install mod_wsgi
mariadb或mysql yum安装即可
1,django建立工程 django-admin.py startproject data
此时会生成data 文件夹,切换到data文件夹,生成blog app python manage.py startapp blog
此时整个data文件夹的目录结构为
settings.py django的配置文件:关于连接mysql数据库的配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'data',
'USER': 'root',
'PASSWORD': '174418',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
需要用浏览器进行调试时,则对此项进行修改ALLOWED_HOSTS = ['*']
urls负责前端与views(逻辑处理)的连接,django 1.7过度到1.8发生重大变化
models负责处理对数据库的有关动作,vie ws负责逻辑处理,templates负责静态文件的存放,即MTV模型,同步数据库则执行python manage.py makemigrations python manage.py
migrate .
此时博客系统models文件为
class Article(models.Model):
title = models.CharField(u'title', max_length=256)
content = models.TextField(u'content', max_length=100)
pub_date = models.DateTimeField(u'ctime', auto_now_add=True, editable = True)
update_time = models.DateTimeField(u'mtime',auto_now=True, null=True)
def __unicode__(self):# 在Python3中用 __str__ 代替 __unicode__
return self.title
class Person(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
def my_property(self):
return self.first_name + ' ' + self.last_name
my_property.short_description = "Full name of the person"
full_name = property(my_property)
views文件为空,因不设置任何的业务处理
此时利用django自带的开发服务器python manage.py runserver 172.16.253.120:8000
此时关于django模块,mysql模块已经完成,紧接着apache部署项目,因为我用的是httpd2.4版本,其模块是动态加载
无需配置,接下来是配置虚拟主机:相应的文件夹要赋予apache用户访问权限
一般目录权限设置为 755,文件权限设置为 644
<VirtualHost *:80>
ServerName www.zhenlin111.com
ServerAlias otherdomain.com
ServerAdmin 919022966@qq.com
Alias /media/ /django/data/media/
Alias /static/ /django/data/static/
<Directory /django/data/media>
Require all granted
</Directory>
<Directory /django/data/static>
Require all granted
</Directory>
WSGIScriptAlias / /django/data/data/wsgi.py
# WSGIDaemonProcess ziqiangxuetang.com python-path=/django/data:/home/tu/.virtualenvs/blog/lib/python2.7/site-packages
# WSGIProcessGroup ziqiangxuetang.com
<Directory /django/data/data>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
最后则是wsgi.py的配置
import os
from os.path import join,dirname,abspath
PROJECT_DIR = dirname(dirname(abspath(__file__)))
import sys
sys.path.insert(0,PROJECT_DIR)
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "data.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
data.settings中data则是django的项目名称
若是部署不成功,随时观察log文件