Mac Apache Django WSGI 部署

话说Django+Apache也太难部署了,先试了mod_python后来试了几个小时都不行,网上资料太少,也太老。

后来试了wsgi,也弄了几个小时终于搞定,特此记录下,方便自己,也方便大家。

一.安装

apache和python mac自带,django和wsgi去网上安装即可,这个倒是很简单。不过好像mac os x10.9安装mod_python的时候会出问题,找不到"stdio.h",网上搜一下方法就可以了,我试后来安装的wsgi,没出现这个问题,可能之前解决了。

我的版本 apache-2.2 python-2.7 django-1.6 wsgi-4.1

所有文件位置以自己的为主

二.建项目

这个也很简单,随便用django建一个项目,然后能在django自带的server跑起来就行了


三.部署

最麻烦的就是这个了,我也不知道我的步骤到底是不是最简单的方法,在找资料的时候什么方法都试过了,可能有一些是多余的,我就估且都写下来吧。

1.修改项目中的setting.py文件

DEBUG = True
TEMPLATE_DEBUG = False
ALLOWED_HOSTS = ['localhost']
2.修改项目中的wsgi.py,这个是建项目的时候就自带创建的,跟setting.py在同一目录,我傻傻的自己创建好多次,后来才发现文件位置不对,悲剧了。

#/Library/WebServer/Documents是apache中DocumentRoot位置
#votebing是我建的项目
import sys
sys.path.append('/Library/WebServer/Documents/votebing')
3.修改apache安装目录中的httpd.conf,我的是在/etc/apache2/httpd.conf

#载入mod_wsgi
LoadModule wsgi_module /usr/libexec/apache2/mod_wsgi.so
WSGIScriptAlias /votebing /Library/WebServer/Documents/votebing/votebing/wsgi.py
WSGIPythonPath /Library/WebServer/Documents

<Directory /Library/WebServer/Documents/votebing/>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
Alias /media/ /Library/WebServer/Documents/votebing/media/
Alias /static/ /Library/WebServer/Documents/votebing/static/

<Directory /Library/WebServer/Documents/votebing/static>
Allow from all
</Directory>

<Directory /Library/WebServer/Documents/votebing/media>
Allow from all
</Directory>

四.其他

第一次配置django,10+小时,唉,果然是太弱了。

尽量多查看apache的log,这样很方便,也很容易知道自己错误的地方,我的位置是在/private/var/log/apache2

还有可能会出现[attempt to write a readonly database]错误,我是在终端使用下面的命令搞定的,就是修改db和db所在文件夹的权限

chmod 777 /Library/WebServer/Documents/votebing 
chmod 777 /Library/WebServer/Documents/votebing/db.sqlite3



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值