Django项目production环境发布笔记。

这里使用apache2 + mod_python, 安装忽略, 另外需要到你部署的机子上安装django 和 MySQLdb,(我用的ubuntu server,装上之后 apache2, mod_python, MySQLdb 都已经有了, 装个django就好了。 )


其实配置蛮简单的, 修改/etc/apache2/httpd.conf, 加入以下片段。

Alias /site_media /home/denny/zoomino/website/zoomino_media

<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE zoomino.settings
# PythonOption django.root /
PythonDebug On
PythonPath "sys.path +['/home/denny']"
</Location>

<Location "/site_media">
SetHandler None
</Location>


项目位于/home/denny,这里要注意PythonPath, 这里不是设置/home/denny/zoomino而且project dir的上一级目录, 也就是你运行django-admin.py startproject的当前目录。如果你想在开发的时候自动定位你的template dir,请看这篇文章[url]http://dengyin2000.iteye.com/blog/323391[/url]。

django虽然把可以处理静态文件,但是django内置的web server很差,所以发布的时候需要用apache这样的handle。Alias /site_media /home/denny/zoomino/website/zoomino_media 这句定义资源文件的路径和映射的url。

然后我们把django项目映射到根url“/”上。 因为我把django映射到了根上, 所以最后一段肯定要加,要不然资源文件会被django handle了那肯定是要报错的。

OK,最后把settings.py的DEBUG设成False, 重启apache就行了。


如何在开发的时候处理静态文件请看。 [url]http://docs.djangoproject.com/en/dev/howto/static-files/#howto-static-files[/url], 再结合我的这篇文章[url]http://dengyin2000.iteye.com/blog/323391[/url]定位你的static files就完美了。


参考:[url]http://docs.djangoproject.com/en/dev/topics/install/#database-installation[/url]
[url]http://docs.djangoproject.com/en/dev/intro/install/#intro-install[/url]
[url]http://docs.djangoproject.com/en/dev/howto/deployment/modpython/#howto-deployment-modpython[/url]

安装apache mod-python

[url]http://www.howtoforge.com/embedding-python-in-apache2-with-mod_python-debian-ubuntu-fedora-centos-mandriva-opensuse[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值