7

ドメイン名を付けて、apache で複数の django プロジェクトを実行しようとしています。今のところ、1 つのアプリケーションをホストして127.0.0.1:8888で実行することができました。設定は次のようになります。

WSGIScriptAlias / C:/Users/ShabeerSheffa/workspace/ApacheDemo/ApacheDemo/wsgi.py
WSGIPythonPath C:/Users/ShabeerSheffa/workspace/ApacheDemo

<Directory C:/Users/ShabeerSheffa/workspace/ApacheDemo>
    <Files wsgi.py>
        Order deny,allow
        Allow from all
    </Files>
</Directory>

上記のコードを以下のコードのように変更しようとしました。ドメイン名を付けて、apachedemo.comを使用してアクセスできるようにしましたが、惨めに失敗しました。

NameVirtualHost apachedemo.com   

<VirtualHost apachedemo.com>    
    ServerName apachedemo.com  
    ServerAlias www.apachedemo.com

    WSGIScriptAlias / C:/Users/ShabeerSheffa/workspace/ApacheDemo/ApacheDemo/wsgi.py
    WSGIPythonPath C:/Users/ShabeerSheffa/workspace/ApacheDemo

    DocumentRoot C:/Users/ShabeerSheffa/workspace/ApacheDemo

    <Directory C:/Users/ShabeerSheffa/workspace/ApacheDemo>
        <Files wsgi.py>
            Order deny,allow
            Allow from all
        </Files>
    </Directory>    

</VirtualHost> 

現在、Windows 7 マシンで Apache にポート 8888 を使用しています。コードの最初のバージョンでは 127.0.0.1:8888 が機能しましたが、コードを編集した後、Apache を再起動するとエラーが発生します。

これが私のホスト ファイルの外観です。最後の行だけを追加しました ( 2 行目と 3 行目に # がある理由はよくわかりません) 。

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost
    127.0.0.1:8888       apachedemo.com       www.apachedemo.com

私は2つの質問に対する答えを見つけようとしています -

  1. apachedemo.comを機能させるにはどうすればよいですか
  2. apachedemo2.comなど、同じサーバーに別のプロジェクトを追加するにはどうすればよいですか

編集:Eclipseを使用してプロジェクトを開発しています

助けてくれてありがとう

4

3 に答える 3

4

以下の構成を試してください。また、この質問が役立つ場合があります。modwsgiのドキュメントには、仮想ホストに関するセクションがあり、同様に役立つ場合があります。

WSGIPythonPath C:/Users/ShabeerSheffa/workspace/ApacheDemo

<VirtualHost apachedemo.com:8888>
    ServerName apachedemo.com
    WSGIScriptAlias / C:/Users/ShabeerSheffa/workspace/ApacheDemo/ApacheDemo/wsgi.py

    <Directory C:/Users/ShabeerSheffa/workspace/ApacheDemo>
        <Files wsgi.py>
            Order deny,allow
            Allow from all
        </Files>
    </Directory>
</VirtualHost>

<VirtualHost apachedemo2.com:8888>
    ServerName apachedemo2.com
    WSGIScriptAlias / C:/Users/ShabeerSheffa/workspace/ApacheDemo/apachedemo2/wsgi.py

    <Directory C:/Users/ShabeerSheffa/workspace/ApacheDemo>
        <Files wsgi.py>
            Order deny,allow
            Allow from all
        </Files>
    </Directory>
</VirtualHost>

アップデート

以下のコメントの1つで、仮想ホストごとに異なるWSGIPythonPathを使用できますか。構成ドキュメントを見ると、WSGIPythonPathはコンテキストサーバー構成にのみ存在でき、仮想ホストには存在できません。ただし、この回答に示されているように、wsgiファイル自体のパスに追加することはできます。この質問に示されているように、python-pathを使用してWSGIDaemonProcessを確認することもできます。

于 2012-11-28T15:38:51.640 に答える
4

必ずお読みください:

Django 1.4で自動生成されたwsgi.pyファイルは、異なるサブインタープリターの下で同じプロセスで2つのDjangoインスタンスをホストできないようにします。wsgi.pyファイルを変更する必要があります。

これは、まだ問題がある場合にApache構成で発生する可能性のある問題に追加されます。エラーメッセージを表示することでエラーが正確に何であるかについて漠然としているので、あなたが抱えている問題が何であるかを推測するのは難しいです。

于 2012-11-28T22:19:53.953 に答える