本文实例讲述了Apache,wsgi,django 程序部署配置方法。分享给大家供大家参考,具体如下:
前面写过一篇文章,ngixn,uwsgi,django,python 环境配置,有兴趣的朋友可以参考 nginx,django部署
后来有人在QQ上问我,用Apache 好部署吗?我当时只在windows下用 APACHE2.3,django1.4,wsgi 部署过,还没有在 linux 下部署。前几天有时间,我在 centos 上测试部署了一下。也不难。唯一的差别是,在windows 下有已经编译好的 wsgi.so 文件,放到 apache 的 modules下,然后在 httpd.conf 中增加
LoadModule wsgi_module modules/mod_wsgi.so
但是在 linux 下,wsgi的安装,都要在源码编译下安装,而且还有几点要注意的。下面就详细介绍我部署的过程。
安装python 2.7 或者你需要的版本
这个就简单带过了,下载安装包之后,windows 可以直接 运行安装包,linux 下 最好编译安装吧。这一步可以参考我上面提到的文章,我已经说得比较清楚。 但我这个centos 环境,是别人已经装好了的,而且比较怪异,安装在:/usr/local/activepython27 ,一般的python 安装在:/usr/bin/python 。其实原因简单,因为centos 自带的python 是 2.4 的版本较低,所以重新装了一个新版本的。
安装wsgi
首先要在google 代码托管处下载.https://code.google.com/p/modwsgi ,如果是windows 的,可以直接下载编译好的文件。linux 的兄弟们,下载源码编译:
wget http://modwsgi.googlecode.com/files/mod_wsgi-3.4.tar.gz tar zxvf mod_wsgi-3.4.tar.gz cd mod_wsgi-3.4 ./configure
发现什么了,报错了
./configure checking for apxs2... no checking for apxs... no checking Apache version... ./configure: line 1695: apxs: command not found ./configure: line 1695: apxs: command not found ./configure: line 1696: /: is a directory
报错的原因,也很清楚。没有 apxs.下面安装它
yum install httpd-devel
如果是 ubuntu 可能命令为 sudo apt-get install apache2-dev
或 sudo apt-get install apache2-threaded-dev
,具体的命令可以查一下.
再次编译
[root@29 mod_wsgi-3.4]# ./configure (这里有可能要加上python路径 --with-python=/usr/local/activepython27) checking for apxs2... no checking for apxs... /usr/sbin/apxs checking Apache version... 2.2.3 checking for python... /usr/local/activepython27/bin/python configure: creating ./config.status config.status: creating Makefile [root@29 mod_wsgi-3.4]# make make install
得到如下编译结果:
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
chmod 755 /usr/lib/httpd/modules/mod_wsgi.so
[root@29 mod_wsgi-3.4]#
配置 apache2 配置文件httpd.conf .
LoadModule wsgi_module modules/mod_wsgi.so
然后启动 apache
service httpd start
发现什么鸟,这是只布谷鸟,乱叫,报错了
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
ImportError: No module named site
错误的原因,系统有多个python 版本,必须指明用哪一个python .
在apache 配置文件中,继续加入
WSGIPythonHome /usr/local/activepython27 (这是你要采用的python的路径,一般是/usr/bin/python,我这环境别人配成这样了)
用什么方法可以得到这个路径呢,直接执行python 命令就可以得到,前提是,这个python 软连接是你用要的python, 注意一点的是,WSGIPythonHome不要配置到<VirtualHost> </VirtualHost> 之间,否则报错
import sys sys.prefix
就可以得到路径/usr/local/activepython27 。
Django应用程序相关配置
1.我的django程序部署在 /opt/www/html/djangocms/crm 这里
在工程的conf 目录下加入如下两个文件
apache_django_wsgi.conf 文件内容如下
<VirtualHost *:80> ServerName 192.168.1.111 ServerAlias 192.168.1.111 DocumentRoot /opt/www/html/djangocms/crm WSGIScriptAlias / /opt/www/html/djangocms/crm/conf/django.wsgi <Directory "/opt/www/html/djangocms/crm"> order allow,deny Allow from all </Directory> Alias /static /opt/www/html/djangocms/crm/static <Location "/static"> SetHandler None </Location> <Directory "/opt/www/html/djangocms/crm/static"> order Deny,Allow Allow from all </Directory> </VirtualHost>
django.wsgi 文件内容
import os import sys sys.path.append("/opt/www/html/djangocms") sys.path.append("/opt/www/html/djangocms/crm") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "crm.settings") from django.core.wsgi import get_wsgi_application application = get_wsgi_application()
最后在 apache 配置文件 httpd.conf 中加入:
Include "/opt/www/html/djangocms/crm/conf/apache_django_wsgi.conf"
重启apache
service httpd restart
你就看到你熟悉的django应用程序了。
希望本文所述对大家基于Django框架的Python程序设计有所帮助。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]