Django,是一款针对Python环境的WEB开发框架,能够帮助我们构架快捷、简单的WEB框架设置,Django框架非常适合开发内容应用环境,所以在本文中,麦子将整理基于Centos系统部署安装Django、Apache 、mod_wsgi环境,用于我们开发Python WEB项目的需要。

CentOS 5系统安装Django、Apache 、mod_wsgi部署Python环境教程

第一、安装依赖环境

在准备安装Django框架部署之前,我们需要先安装EPEL依赖环境,因为可能默认的CENTOS环境没有完善的最新部署包。

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm

我们先部署EPEL依赖环境,然后执行更新和安装:

yum update
    yum install python-setuptools httpd mod_wsgi

我们更新当前的系统环境,以及必要的软件环境。然后就是数据库的安装。

1、 PostgreSQL数据库

yum install postgresql python-psycopg2

2、SQLite数据库

yum install sqlite python-sqlite

3、MYSQL数据库

yum install python-devel mysql-devel gcc wget python-setuptools

根据我们项目的需要,上面麦子有提供3种数据库环境,我们根据需要选择安装。检查最新版本的MYSQL数据库,然后部署安装。

cd /opt/
    wget http://downloads.sourceforge.net/project/mysql-python/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz
    tar -zxvf MySQL-python-1.2.3.tar.gz
    cd MySQL-python-1.2.3/
    python setup.py build
    python setup.py install

第二、安装Django

我们可以有两种方法来安装Django框架,选择从EPEL库安装Django,或者我们可以直接用Python的easy_install方法安装。

1、yum install Django

2、easy_install Django

两个方法,我们选择一个就可以。

第三、配置Django应用程序WSGI

如果我们希望能够让mod_wsgi访问Django程序,那我们需要创建一个属于这个站点项目的django.wsgi文件。在这个文章中,麦子以/srv/www/yd631.com/application作为目录应用。

创建文件:/srv/www/yd631.com/application/django.wsgi

import os
    import sys

sys.path.append('/srv/www/yd631.com/application')

os.environ['PYTHON_EGG_CACHE'] = '/srv/www/yd631.com/.python-egg'
    os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

import django.core.handlers.wsgi
    application = django.core.handlers.wsgi.WSGIHandler()

然后将上面的内容部署进去。

第四、设置Apache

<VirtualHost yd631.com:80>
    ServerName yd631.com
    ServerAlias www.yd631.com
    ServerAdmin squire@yd631.com
    DocumentRoot /srv/www/yd631.com/public_html
    WSGIScriptAlias / /srv/www/yd631.com/application/django.wsgi
    <Directory /srv/www/yd631.com/application>
    Order allow,deny
    Allow from all
    </Directory>

Alias /robots.txt /srv/www/yd631.com/public_html/robots.txt
    Alias /favicon.ico /srv/www/yd631.com/public_html/favicon.ico
    Alias /images /srv/www/yd631.com/public_html/images
    Alias /static /srv/www/yd631.com/public_html/static

ErrorLog /srv/www/yd631.com/logs/error.log
    CustomLog /srv/www/yd631.com/logs/access.log combined
    </VirtualHost>

我们需要根据自己的网站路径,然后配置APACHE环境。

第五、部署Apache的应用

编辑/etc/httpd/conf.d/wsgi.conf文件,加上LoadModule wsgi_module modules/mod_wsgi.so

然后我们需要重启APACHE

/etc/init.d/httpd restart

到目前为止,我们的环境已经可以正常运转,如果我们还不行,可以执行(chkconfig httpd on)。这样我们每次重启服务器都会自动加载开机启动,不需要我们单独启动WEB服务器。到目前为止,我们已经成功的在centos5环境中部署了Django应用程序,以及mod_wsgi、Apache。

CentOS 5系统安装Django、Apache 、mod_wsgi部署Python环境教程的更多相关文章

  1. 部署django - Apache + mod_wsgi + windows

    部署django - Apache + mod_wsgi + windows 1.环境 django 1.6.2 python 3.3 32位 apache 2.4.7 32位 一个可以使用的djan ...

  2. Apache + mod_wsgi部署webpy应用

    Apache + mod_wsgi部署webpy应用   引用:http://webpy.org/cookbook/mod_wsgi-apache.zh-cn 下面的步骤在Apache-2.2.3 ( ...

  3. python-pycharm中使用anaconda部署python环境

    pycharm中使用anaconda部署python环境 今天来说一下python中一个管理包很好用的工具anaconda,可以轻松实现python中各种包的管理.相信大家都会有这种体验,在pycha ...

  4. 离线环境下自动化部署python环境(含openssl)

    遇到有项目要在内网环境下安装python项目,所以空余时写了自动化部署python环境和python项目的脚本,由于项目涉密,这里仅提供自动化部署python环境的shell脚本,包括openssl的 ...

  5. centos部署Python环境

    在centos上部署Python之前,我们需要先配置开发环境. 1.安装Python依赖的开发工具包 gcc自然少不了,可以直接用“Development Tools”: yum grouplist ...

  6. CentOS 6.4安装Apache+MySQL+PHP的图文教程

    LAMP 实际上就是 Linux.Apache.MySQL.PHP 四个名称的缩写,当然最后一个 “P” 还有其他说法是 Perl 或者 Python.不用多说了,本文讲解的就是 Linux.Apac ...

  7. Django + Apache + wsgi配置和环境搭建(ubuntu)

    上一篇写了Django + nginx + uwsgi配置和环境搭建(ubuntu) 由于公司服务器环境问题,又配置了apache的环境.记录例如以下: 一. 安装环境: #apache sudo a ...

  8. Apache mod_wsgi部署Django项目

    学习python web开发,Django部署备忘 1.下载mod_wsgi,下载路径如下:http://code.google.com/p/modwsgi/downloads/list挑选For 2 ...

  9. CentOS6下配置Django+Apache+mod_wsgi+Sqlite3过程

    0. 安装环境: CentOs版本:      VMWare中CentOs 6.4 Apache版本:      Httpd 2.2.15 http://httpd.apache.org/ Sqlit ...

随机推荐

  1. Reactor事件驱动的两种设计实现:面向对象 VS 函数式编程

    Reactor事件驱动的两种设计实现:面向对象 VS 函数式编程 这里的函数式编程的设计以muduo为例进行对比说明: Reactor实现架构对比 面向对象的设计类图如下: 函数式编程以muduo为例 ...

  2. 动态代理proxy与CGLib的区别

    什么是代理? 静态代理与动态代理 静态代理实例 JDK动态代理实例 CGLib 简介 CGLib 与JDK动态代理的区别 代理模式是Java中常见的一种模式,英文名字叫走Proxy或者Surrogat ...

  3. mongoDB3.0 索引 整理

    http://blog.csdn.net/louisliaoxh/article/details/51543552 相关mongo http://blog.csdn.net/LOUISLIAOXH/a ...

  4. python 中字典实用操作

    1.字典转化为列表 a={"username":"12","password":"89"} print a.items( ...

  5. 使用JS实现轮播图的效果

    其中的一些css样式代码就省略了,下面只把结构层html.行为层js的代码展示出来 ,看代码说事. 一.简单的轮播图 <div class="box" id="bo ...

  6. 【腾讯云的1001种玩法】腾讯云搭建DiscuzX论坛

    版权声明:本文由艾可德原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/506828001481866457 来源:腾云阁 h ...

  7. (转)css3-box-sizing属性详解

    box-sizing是CSS3的box属性之一.一说到CSS的盒模型(Box model)我想很多人都会比较烦,特别是对于新手,然而这个Box model又是我们CSS运用中比较重要的一个属性.那么C ...

  8. stopping NetworkManager daemon failed

    1 初次安装NetworkManager时发现,无法将这个服务关闭 2 上网找了一圈,也没找到原因 3 重启服务器后就能正常关闭了 4 将该服务删除重装也能正常关闭 5 下回重装系统时再观察一下

  9. CSS3学习之分享下transition属性

    最近在网上看到很多transition写的效果,借鉴http://www.w3school.com.cn分享下代码, 1.语法:transition: property duration timing ...

  10. get github

    Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理.在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中.目前,包括Rubinius ...