Linux+Django+Python+Wsgi配置过程

Linux下配置Apache+Mod_Wsgi+Django环境

(ybw 2011-09-23)

一.安装环境

操作系统:CentOS release 5.5

内核版本:Linux Svn-168-1-11 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

Python版本:Python 2.4.3

Apche版本:httpd-2.2.3

Mod_Wsgi版本:mod_wsgi-3.2-1.el5.x86_64.rpm

Django版本:Django-1.2.4

二.软件安装

Python采用默认rpm安装路径

安装Apache:

yum –y install httpd(httpd-2.2.3-53.el5.centos.1.x86_64.rpm)

安装Mod_Wsgi:

rpm –ivh mod_wsgi-3.2-1.el5.x86_64.rpm

安装Django:

tar –zxvf Django-1.2.4.tar.gz

cd Django-1.2.4

python setup.py install

安装MySQLdb

wget -q http://peak.telecommunity.com/dist/ez_setup.py

wget http://pypi.python.org/packages/2.4/s/setuptools/setuptools-0.6c11-py2.4.egg

python ez_setup.py

tar –zxvf MySQL-python-1.2.3.tar.gz

cd  MySQL-python-1.2.3

python setup.py build

python setup.py install

安装成功验证:

Shell> python

Python 2.4.3 (#1, May  5 2011, 16:39:10)

[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import django

>>> django.VERSION

(1, 2, 4, ‘final‘, 0)

>>> import MySQLdb

>>>

shell>ls /etc/httpd/conf.d

proxy_ajp.conf  README  welcome.conf  wsgi.conf

shell> ls /etc/httpd/modules/ | grep mod_wsgi

mod_wsgi.so

三.项目部署

1.打包压缩开发代码:dajie.zip

2.上传至服务器并解压缩至目录/var/www/html

Shell> ls /var/www/html/

dajie

3.修改Apche配置文件httpd.conf

Shell> vi /etc/httpd/conf/httpd.conf

###在最后添加如下内容

<VirtualHost *:80>

ServerName mice.operation.dajie-inc.com

DocumentRoot /var/www/html/dajie

WSGIScriptAlias / /var/www/html/dajie/apache/django.wsgi

<Directory />

Order deny,allow

Allow from all

</Directory>

<Directory /apache>

Allow from all

</Directory>

</VirtualHost>

4.创建并配置wsgi的配置文件:

Shell>cd /var/www/html/dajie

Shell>mkdir apache

Shell>touch django.wsgi

Shell>cat django.wsgi

import os, sys

#Calculate the path based on the location of the WSGI script.

apache_configuration= os.path.dirname(__file__)

project = os.path.dirname(apache_configuration)

workspace = os.path.dirname(project)

sys.path.append(workspace)

os.environ[‘DJANGO_SETTINGS_MODULE‘] = ‘dajie.settings‘

os.environ[‘PYTHON_EGG_CACHE‘] = ‘/tmp‘

import django.core.handlers.wsgi

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

print >> sys.stderr, sys.path

shell>chmod a+x django.wsgi

5.修改django项目的配置文件/var/www/html/dajie/settings.py,主要是下面两处:

DATABASES = {

‘default‘: {

‘ENGINE‘: ‘django.db.backends.mysql‘,

‘NAME‘: ‘dajieod‘,

‘USER‘: ‘dajieod‘,

‘PASSWORD‘: ‘dajieod123‘,

‘HOST‘: ‘127.0.0.1‘,

‘PORT‘: ‘3306‘,                         }

}

TEMPLATE_DIRS = (

# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".

# Always use forward slashes, even on Windows.

# Don‘t forget to use absolute paths, not relative paths.

‘/var/www/html/dajie/templates‘,

)

四.启动项目

shell>service httpd restart

访问测试:

http://192.168.1.11

项目部署ok~

五.问题集

1.安装MySQL-python执行:python setup.py build报错:EnvironmentError: mysql_config not found

方法解决:ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config
将mysql_confi从你的安装目录链接到/usr/local/bin目录下,这样就可以在任意目录下访问了(也可以放到/usr/bin)

2. import MySQLdb报错:ImportError: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory

解决方法:将mysql/lib下所有关于libmysqlclient的so文件软链接到/usr/lib下。
ln -s /usr/local/mysql/lib/mysql/libmysqlclient* /usr/lib
ldconfig
这样 import MySQLdb 的时候就不会出错了

3.在系统环境中安装完django、MySQLdb后,执行import都没有问题,但是启动Apache后,浏览器访问时却报错:

Error loading MySQLdb module: ImportError: libmysqlclient_r.so.16: cannot open shared object file: Permission denied

解决方法:这里apache的Permission denied问题是由SELINUX引起的,关闭SELINUX即可。关闭Selinux:vi /etc/selinux/config===》SELINUX=disabled,然后重启系统

(不重启设置Selinux:setenforce 0   查看Selinux:getenforce)

时间: 2024-08-27 10:18:33

Linux+Django+Python+Wsgi配置过程的相关文章

Linux LVM逻辑卷配置过程详解

Linux LVM逻辑卷配置过程详解 许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用时可能不得不备份.删除相关数据,甚至被迫重新规划分区并重装操作系统,以满足应用系统的需要. LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上.文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性.RHEL5默认安装的分区格式就是LVM逻辑卷的格式,需要注意的是/boot分区不能基于LVM创建,必须独立出

记录一则Linux SSH的互信配置过程

需求:四台Linux主机,IP地址为192.168.10.10/11/12/13,配置root用户的等价性1.各节点ssh-keygen生成RSA密钥和公钥 ? 1 ssh-keygen -q -t rsa  -N "" -f  ~/.ssh/id_rsa 2.将所有的公钥文件汇总到一个总的授权key文件中在10执行汇总: ? 1 2 3 4 ssh 192.168.10.10 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Ubuntu+Django+mod_wsgi+Apache配置过程

Ubuntu15.10 Apache2.4( sudo apt-get install apache2 ) Python3.4( sudo apt-get install apache2 ),  [系统还有个自带的Python2.7] Django1.9.5( pip3.4 install django ) mod_wsgi4.5.2(编译安装) Django项目目录:/var/www/DjangoProject已经建好了mysite工程, python3.4 manage.py runserv

python服务器安装配置过程记录

*新服务器安装步骤 1. 下载python2.7.6 wget http://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz 2. 解压缩 tar -xf Python2.7.6 3. 安装 1. cd Python2.7.6; ./configure ; make; make install 4. 替换系统自带python mv /usr/local/bin/python /usr/local/bin/python_bak; ln -s /us

Python基础之 Django安装和配置

Django是Python用来开发web应用程序常用的一种流行框架,它集成有后台权限管理.模型.表单.数据库.模板功能. Django安装和配置过程如下. 1.下载Django.从Django官网下载Django包到本地,然后进行解压,根据自己需求拷贝到相应目录,我本地是放在D:\Program Files (x86)目录. 2.安装和配置Django. (1)以管理员身份打开cmd命令,进入Django解压目录,通过python安装Django,命令如下:python setup.py ins

Django基本环境配置

Django是一个开放源代码的Web应用框架,它源自一个在线新闻 Web 站点,于2005 年以开源的形式被释放出来.Django 框架的核心组件有: 1)用于创建模型的对象关系映射 2)为最终用户设计的完美管理界面 3)一流的 URL 设计 4)设计者友好的模板语言 5)缓存系统. 一.系统环境:RHEL6.0 +Python 2.6.5 + Django 1.6.4 [[email protected] ~]# uname -a Linux rhel6 2.6.32-71.el6.i686

Python 学习笔记13:Python + wsgi + django 配置。坑爹的python3和wsgi不兼容的解决

今人不见古时月,今月曾经照古人.生命是如此的美丽与短暂! 学习Python已经两个月了,Python的语法通过做简单的语法题和看Python语法介绍,有了初步的了解.但上班还是要做别的事情,所以感觉学起来特别慢.有一种时不我待的感觉. 基本的语法了解了,接下来就要尽快进入到项目的实战.这样才能快速的遇到问题,并解决问题,迅速提升能力. 开始当然就是先按网上的一般步骤,用django写个博客网站出来. 接下来就是血泪啊!配置这个Python + wsgi + django, 其恶心已达到足以让我呕

python框架Django与WSGI

今天学习了一下用简单的Django框架与简单的WSGI服务器配套运行一个简单的Django项目: Django不是完整的web后端框架,它需要和一个WSGI服务器配套,由WSGI服务器负责网络通讯部分. 1.Django与WSGI WSGI全称:Web Server Gateway Interface,是Python定义的WSGI程序和WSGI服务器之间的一种接口 现一个WSGI应用,只需要满足3个要求: 是可调用的,比如是一个函数,或者是一个可调用类(具有__call__方法)的实例 WSGI

【泡咖啡1】linux下caffe编译以及python环境配置手记

caffe是一个深度学习的库,相信搞深度学习的话,不是用这个库就是用theano吧.要想使用caffe首先第一步就是要配置好caffe的环境.在这里,我主要说的是在debian的linux环境下如何配置好caffe的库.因为python编写程序比较方便,在文章最后,我还会具体说明如何配置python环境.本文章为本人原创,部分内容整理自网络,若有不妥之处请联系本人删除.非盈利性质网站转载请在文章开头处著名本文作者:77695,来源http://www.cnblogs.com/cj695/.盈利性