> 백엔드 개발 > PHP 튜토리얼 > Apache服务器上同时运行php的网站和django的网站,该如何配置Apache和Django的URL?

Apache服务器上同时运行php的网站和django的网站,该如何配置Apache和Django的URL?

WBOY
풀어 주다: 2016-06-17 08:32:25
원래의
1391명이 탐색했습니다.

已经安装的软件: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 确保工作正常:
<code class="language-php"><span class="cp"></span> <span class="k">echo</span> <span class="nb">phpinfo</span><span class="p">();</span> <span class="cp">?></span><span class="x"></span>
</code>
로그인 후 복사
配置httpd-vhosts.conf文件
<code class="language-apacheconf"><span class="nt"><virtualhost> <span class="s">*:80</span><span class="nt">></span>
    <span class="nb">WSGIScriptAlias</span> <span class="sx">/django_site</span> <span class="s2">"/path/to/www/django_site.wsgi"</span>
    <span class="nt"><directory> <span class="s">"/path/to/www/django_site"</span><span class="nt">></span>
        <span class="nb">Order</span> Deny,Allow
        <span class="nb">Allow</span> from <span class="k">all</span>
    <span class="nt"></span></directory></span> 
    <span class="nb">Alias</span> <span class="sx">/images</span> <span class="s2">"/path/to/www/images"</span>    
    <span class="nb">Alias</span> <span class="sx">/layout</span> <span class="s2">"/path/to/www/layout"</span>        
<span class="nt"></span></virtualhost></span>  
</code>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿