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. CFNetwork的错误代码参考

    所有的错误代码是在对“CFNetwork的错误代码参考” 小提取CFURL和CFURLConnection错误: kCFURLErrorUnknown = -998, kCFURLErrorCance ...

  2. Exception in thread "main" java.lang.ExceptionInInitializerError

    Exception in thread "main" java.lang.ExceptionInInitializerErrorCaused by: java.util.Missi ...

  3. (转)awk实例练习(二)

    文章转自 http://www.cnblogs.com/zhuyp1015/archive/2012/07/14/2591842.html 先来总结一下awk内置变量: ARGC          命 ...

  4. python走起之第八话

    1. Socket介绍 概念 A network socket is an endpoint of a connection across a computer network. Today, mos ...

  5. Ios二维码扫描(系统自带的二维码扫描)

    Ios二维码扫描 这里给大家介绍的时如何使用系统自带的二维码扫描方法和一些简单的动画! 操作步骤: 1).首先你需要搭建UI界面如图:下图我用了俩个imageview和一个label 2).你需要在你 ...

  6. 界面布局之表格布局TableLayout+TableRow

    一.基础知识: TableLayout置底,TableRow在TableLayout的上面,而Button.TextView等控件就在TableRow之上, 另外,TableLayout之上也可以单独 ...

  7. DebugLog 打印方法执行时间

    DebugLog 打印方法执行时间 用于方便调试性能问题的打印插件.给访法加上@DebugLog,就能输出该方法的调用参数,以及执行时间. Project gradle配置 // Top-level ...

  8. php访问远程服务器上的文件

    test.php <?php $fp=fopen('http://www.baidu.com', 'r'); while (!feof($fp)) { $chunk=fgets($fp); ec ...

  9. `UnityEditor.EditorUtility' does not contain a definition for `GetMiniThumbnail'

    I got the following errors with Untiy 4.0f7error CS0117: `UnityEditor.EditorUtility' does not contai ...

  10. message from server: "Host 'XXX' is not allowed to connect to this MySQL server

    Access denied for user 'root'@'XXXXX' (using password: YES) mysql命令不正确造成: grant all privileges on *. ...