ホームページ  >  記事  >  バックエンド開発  >  Apache サーバー上で PHP Web サイトと Django Web サイトを同時に実行する場合、Apache と Django の URL を構成するにはどうすればよいですか?

Apache サーバー上で PHP Web サイトと Django Web サイトを同時に実行する場合、Apache と Django の URL を構成するにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-06-17 08:32:251351ブラウズ

すでにインストールされているソフトウェア: Apache2.2 mod_wsgi php5 など
希望:
1. 同じポート、同じドメインを使用します。
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 モジュール:
  • php5
  • プロキシ (proxy.load と proxy_scgi.log は /etc/apache2/mods-available にあります)
Python モジュールは pip を通じてインストールされ、virtualenv 管理環境は次のとおりです:
  • django
  • flup (Django の runfcgi は flup に依存します)

手順: Django -> Apache / PHP -> Apache proxy_scgi / Django SCGI
1. まず、Django アプリを manage.py runserver で正しく起動できることを確認します。 Django アプリにアクセスします (python manage .py runserver 0.0.0.0:8000)
2. 次に、標準の Apache / mod_php5 環境を構成します。Ubuntu では基本的に何も必要ありません。 info.php を DocumentRoot の下に配置して、機能することを確認します:
<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> <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> <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"></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"></VirtualHost></span>  
</code>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。