Centos6.5搭建Django-1.8.3+mod_wsgi+Apache环境

一、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







猜你喜欢

转载自blog.csdn.net/u013308496/article/details/51872255