Flask で構築した動的 Web サイトを実行する Amazon EC2 インスタンスがあります。
同じ ec2 インスタンスから異なる webapps を実行する最良の方法が何であるかはわかりません。ここでアプリケーションのディスパッチについて読みました: http://flask.pocoo.org/docs/patterns/appdispatch/および Apache2 仮想ホストについて: http://blog.agdunn.net/?p=162。
メインのウェブサイト www.mydomain.com を ec2 インスタンス (これは既に動作しています) から実行してから、構築した他の Flask アプリ (www.subdomain.mydomain.com など) にリンクしたいと考えています。
これは、仮想ホストを使用するか、アプリケーション ディスパッチを使用して wsgi レイヤーで実行できますか? もしそうなら、どちらが良いですか?
いつものように、ヘルプとアドバイスは大歓迎です。
編集:返信ありがとう
今のところ、に保存されているフラスコアプリであるメインサイトをvar/www/mysite
メインドメインから実行しdomain.co.za
、別のアプリをvar/www/flaskhello/flaskhello
サブドメインから実行しようとしていhello.domain.co.za
ます。今のところ、テスト サブドメイン アプリは単なるフラスコの Hello World アプリです。以下に示すように、apache2 構成ファイルと wsgi ファイルをセットアップしました。
私が抱えている問題は、flaskello アプリが と の両方から表示されることdomain.co.za
ですhello.domain.co.za
。何らかの理由で、var/www/flaskhello/flaskhello/index.wsgi
ファイルが よりも優先されるようで、そこの行にvar/www/mysite/index.wsgi
加えた変更のみが有効であるようです。sys.path.insert...
編集 2
これは、私がやろうとしていることと似ていますが、DJango を使用しています。まだ成功していませんが、それがWSGIApplicationGroup %{GLOBAL}
問題の原因であるかどうか疑問に思いました. これを少し変更してみましたが、何をしているのか完全にはわかりませんし、WSGI で ApplicationGroups を使用する方法に関する適切なドキュメントも見つかりません。
助けてくれてありがとう。
--
次のファイルがあります
etc/apache2/sites-enabled/019-domain.co.za
とetc/apache2/sites-available/domain.co.za
<VirtualHost *:80>
WSGIDaemonProcess index
WSGIScriptAlias / /var/www/mysite/index.wsgi
<Directory /var/www/index>
WSGIProcessGroup index
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
etc/apache2/sites-enabled/018-hello.domain.co.za
とetc/apache2/sites-available/hello.domain.co.za
<VirtualHost *:80>
WSGIScriptAlias / /var/www/flaskhello/flaskhello/index.wsgi
<Directory /var/www/index>
WSGIProcessGroup index
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
var/www/mysite/index.wsgi
import sys
sys.path.insert(0,'/var/www/mysite')
from index import app as application
var/www/flaskhello/flaskhello/index.wsgi
import sys
sys.path.insert(0,'/var/www/flaskhello/flaskhello')
from index import app as application