一、Django1.8.3环境安装(下载地址:http://pan.baidu.com/s/1gf0kIaB)
1、安装组件
yum -y update
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-develreadline-devel tk-devel python-devel mysql-devel gcc make
2、安装python3.4.3(进入download目录)
tar zxvfPython-3.4.3.tgz
cd Python-3.4.3
./configure
make && make install
cd /usr/bin/
mv python python.bak
ln /usr/local/bin/python3.4 python
修改yum
vim /usr/bin/yum
把#!/usr/bin/python改成#!/usr/bin/python2.6
3、安装mysql数据库
卸载原有的mysql
rpm -qa | grep mysql
rpm -e --nodeps mysql-5.1.73-7.el6.i686
安装mysql
yum install -y mysql-server mysqlmysql-deve
启动并初始化
service mysqld start
进入mysql
mysql -uroot -p //密码为空
创建数据库
CREATE DATABASE blog_db CHARSET=utf8;
修改密码
SET PASSWORD FOR root@localhost=password('root);
FLUSH PRIVILEGES;
4、安装mysqlclient
pip install mysqlclient
5、安装Django1.8.3
pip install django==1.8.3
6、搭建Django环境
1)、新建django项目
django-admin startproject blog
cd blog
python manage.py runserver
在浏览器中访问127.0.0.1:8000
2)、配置项目
django-admin startapp acticle
修改django配置
vim blog/setting.py
INSTALLED_APPS = (
......
'acticle',
)
#DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR,'db.sqlite3'),
# }
#}
DATABASES= {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'blog_db',
'USER':'root',
'PASSWORD':'root',
'HOST':'127.0.0.1',
}
}
TIME_ZONE = 'Asia/Shanghai'
vim acticle/views.py
添加一下代码
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello world!");
vim blog/urls.py
改成
from django.conf.urls import include, url
from django.contrib import admin
from acticle import views as acticle_views
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^$',acticle_views.index),
]
尝试运行
python manage.py runserver
在浏览器中访问127.0.0.1:8000
二 、安装apache和mod_wsgi
1、安装apache
yum install httpd httpd-devel -y
chkconfig httpd on
service httpd start
2、重新编译python3.4需要启用动态库
cd /home/cecotw/Download/Python-3.4.3
./configure --enable-shared
make && make install
修改
vim/etc/ld.so.conf
添加/usr/local/lib
/sbin/ldconfig -v
3、安装mod_wsgi
tar zxvf mod_wsgi-4.4.15.tar.gz
cd mod_wsgi-4.4.15
./configure
make && make install
4
、关闭SELINUX
vi /etc/selinux/config
修改
SELINUX=enforcing
改成
SELINUX=disabled
三、django+apache+mod_wsgi服务整合
vim /home/cecotw/blog/apache_django_wsgi.conf
添加内容
<IfModule mod_wsgi.c>
WSGISocketPrefix /var/run/wsgi
#Alias /uploads/ /home/cecotw/blog_project/uploads/
#Alias /static/ /home/cecotw/blog_project/static/
Alias /static/admin/ /usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/
<Directory /usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin>
Order deny,allow
Allow from all
#Require all granted
</Directory>
<Directory /home/cecotw/blog/static>
Order deny,allow
Allow from all
#Require all granted
</Directory>
<Directory /home/cecotw/blog/uploads>
Order deny,allow
Allow from all
#Require all granted
</Directory>
<Directory /home/cecotw/blog/blog>
<Files wsgi.py>
Order deny,allow
Allow from all
#Require all granted
</Files>
</Directory>
WSGIDaemonProcess blogprj python-path=/home/cecotw/blog:/usr/local/lib/python3.4/site-packages user=apache group=apache
WSGIProcessGroup blogprj
WSGIScriptAlias / /home/cecotw/blog/blog/wsgi.py
#WSGIScriptAlias /site1 /home/cecotw/blog/blog/wsgi.py
#WSGIScriptAlias /site2 /home/cecotw/blog/blog/wsgi.py
AddType text/html .py
</IfModule>
vim /etc/httpd/conf/httpd.conf
添加内容
ServerName localhost:80
LoadModule wsgi_module modules/mod_wsgi.so
Include /home/cecotw/blog/apache_django_wsgi.conf
注释掉
#DocumentRoot "/var/www/html"
修改项目的权限,并重启apache
service httpd restart