5

私の2つのdjangoプロジェクトが別々に提供されていない理由を理解しようとして、ここで髪を引き裂きます...最初にアクセスされた方の静的ファイルが、両方のプロジェクトの事実上の静的ファイルになるか、同様の効果があるようです。

同じ IP アドレスから離れた 2 つのドメイン名を介して、2 つのプロジェクト (実際には同じ元のプロジェクトの異なるバージョン - 異なるデータベースと異なる物理的な場所) を提供しようとしています。最初に、複数の IP アドレス (ポートで区別) で仮想ホストを試しましたが、失敗しました。残念ながら、異なるドメイン名の仮想ホストを使用すると、まったく同じ問題が発生します。

Apache http.conf の virtualhost セクションは次のとおりです。

WSGIApplicationGroup %{GLOBAL}

Listen 80
NameVirtualHost *:80

<VirtualHost *:80>
ServerAdmin shane.brown@gmail.com
ServerName www.toastprojects.tk
WSGIScriptAlias / "C:/Python27/sites/Adaptwater/adaptwater/wsgi.py"
Alias /static/ "C:/Python27/sites/Adaptwater/static/"
</VirtualHost>

<Directory "C:/Python27/sites/Adaptwater/static/">
Order deny,allow
Allow from all
</Directory>

<Directory "C:/Python27/sites/Adaptwater/adaptwater/">
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>

<VirtualHost *:80>
ServerAdmin shane.brown@gmail.com
ServerName toastprojects.power.on.net
WSGIScriptAlias / "C:/git_clones/adaptwater/adaptwater/adaptwater/wsgi.py"
Alias /static/ "C:/git_clones/adaptwater/adaptwater/static/"
</VirtualHost>

<Directory "C:/git_clones/adaptwater/adaptwater/static/">
Order deny,allow
Allow from all
</Directory>

<Directory "C:/git_clones/adaptwater/adaptwater/adaptwater/">
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>

それぞれにwsgi.pyを設定しました(特定のプロジェクトの場所に対応する絶対パスを使用):

import os, sys

sys.path.append('C:/git_clones/adaptwater/adaptwater')
sys.path.append('C:/git_clones/adaptwater')
#os.environ.setdefault("DJANGO_SETTINGS_MODULE", "adaptwater.settings")
os.environ['DJANGO_SETTINGS_MODULE'] = "adaptwater.settings"

from django.core.wsgi import get_wsgi_application

application = get_wsgi_application()

開発サーバーを介して(および静的ファイルを提供するnginxを使用して)ローカルホストでこれらを同時に実行すると、問題なく動作します。そして、一度に 1 つずつサイトにアクセスし、Apache を再起動したいとします。各作品は、単独で外部から提供されます。この問題を引き起こしている明らかなものはありますか?

乾杯、シェーン


アップデート :

この時点で、私がやりたいことは、mod_wsgi と Windows プラットフォームの完全に幸せな結婚とは言えないため、実行できないと結論付けなければなりません (プラットフォームについて言及する必要がありました-急いで無視しました-windows 7 professional 64)。私は WSGIDaemonProcess を使用できず、WSGIApplicationGroup をグローバルに設定する必要があります。この問題に関連する議論から収集できたものから、つまり、私は行き詰まっています。

代わりにnginxとfastcgiを使用して、奇妙な設定のハイブリッド化なしで2番目のプロジェクトを提供することができました...一時しのぎとして。これまでのところ、このコンビは私を親切に扱ってくれています。

静的ファイルを提供する nginx と django dev サーバーに渡すプロキシのさらに優れたオプションは、外部サービスの並列配置としても機能します。プロジェクトの nginx/fastcgi で提供される 2 つのバージョンを同時に試すことはまだありませんが、これは別の素晴らしいフラストレーションの練習として残します。

4

1 に答える 1

0

<directory>対応する構成ディレクティブ内に構成ディレクティブを含める必要があります<virtualhost>

于 2013-02-13T05:34:04.600 に答える