已经安装的软件:apache2.2 mod_wsgi php5 等.
想要:
1. 使用同一个端口,同一个domain。
2. 把/django_site/* 这样的url全部交给django处理
无奈自己试了很多种配置方式,均出现古怪的错误。
回复内容:谢邀,拖了好久。
我是接触 nginx 之后才开始碰的 python / django,但之前用 apache / mod_php 用了不少时间,所以下面的 django 搭配是按照 nginx fastcgi_pass 的思路来的。本身也是新手,下面的目标就是「跑起来」,特此敬告注意。
环境:
ubuntu 12.04 lts, apache 2.2.22 prefork mpm, mod_php 都是系统 apt-get 安装。
apache module:
php5
proxy(/etc/apache2/mods-available 里看到了 proxy.load 和 proxy_scgi.log)
python 模块通过 pip 安装,virtualenv 管理环境:
django
flup (django 的 runfcgi 依赖 flup)
步骤:django -> apache / php -> apache proxy_scgi / django scgi
1、先搞定 django app,确保用 manage.py runserver 可以启动并正确访问到你的 django app (python manage.py runserver 0.0.0.0:8000)
2、之后是配置标准的 apache / mod_php5 环境,ubuntu 里基本什么都不需要。在 documentroot 下放一个 info.php 确保工作正常:
echo phpinfo(); ?>
配置httpd-vhosts.conf文件
*:80> wsgiscriptalias /django_site /path/to/www/django_site.wsgi /path/to/www/django_site> order deny,allow allow from all alias /images /path/to/www/images alias /layout /path/to/www/layout