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

WBOY
Freigeben: 2016-06-17 08:32:25
Original
1353 Leute haben es durchsucht

已经安装的软件: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>
Nach dem Login kopieren
配置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>
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage