我有一個運行使用Flask構建的動態網站的Amazon EC2實例。在ec2實例的不同子域上運行多個Flask應用程序
我不確定從同一ec2實例運行不同webapps的最佳方式是什麼。我已閱讀了有關應用程序調度的信息:http://flask.pocoo.org/docs/patterns/appdispatch/以及有關Apache2虛擬主機的信息:http://blog.agdunn.net/?p=162。
我想運行我的主要網站www.mydomain.com關閉EC2實例(這我已經工作),然後鏈接到其他應用程序瓶我已經建立,如在www.subdomain.mydomain.com上。
可以這樣做無論是使用虛擬主機或WSGI層上使用應用程序的調度?如果是這樣,哪個更好?
一如既往,非常感謝幫助和建議。
編輯:感謝您的答覆
現在我想運行的主要場所,這是存儲在var/www/mysite
燒瓶中的應用程序,關閉主域domain.co.za
和其他應用程序,這是在var/www/flaskhello/flaskhello
,關閉子域hello.domain.co.za
。目前,測試子域名應用程序只是一個瓶頸世界的應用程序。我有如下指定的apache2配置文件和wsgi文件。
我遇到的問題是flaskhello應用程序顯示從domain.co.za
和hello.domain.co.za
。出於某種原因,var/www/flaskhello/flaskhello/index.wsgi
文件似乎優先於var/www/mysite/index.wsgi
,並且只有我對sys.path.insert...
行的更改似乎有效。
編輯2
現在我讀過this Google Groups thread,這是類似我想要做的,但使用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
謝謝回覆。我已經編輯了原始答案,並在嘗試配置apache時遇到了更具體的問題。 – Sixhobbits