Flaskで開発されたpythonアプリがあります。すべてがオフラインで正常に動作し、CherryPy へのデプロイも成功しました。今、私は www.pythonanywhere.com に同じものを展開しようとしています。
これが、Flask アプリを CherryPy にデプロイするために使用する deploy.py です。
from cherrypy import wsgiserver
from appname import app
def initiate():
app_list = wsgiserver.WSGIPathInfoDispatcher({'/appname': app})
server = wsgiserver.CherryPyWSGIServer( ('http://username.pythonanywhere.com/'), app_list)
try:
server.start()
except KeyboardInterrupt:
server.stop()
print "Server initiated..."
initiate()
print "Ended"
pythonanywhere.com で「手動構成」アプリを作成しました。構成ファイル (username_pythonanywhere_com_wsgi.py) は次のとおりです。
import sys
path = '/home/username/appname'
if path not in sys.path:
sys.path.append(path)
import deploy
deploy.initiate()
サーバーログに「サーバーが開始されました...」というメッセージが表示されたため、「ほとんど機能した」と確信しています。
2013-09-27 09:57:16 +0000 username.pythonanywhere.com - *** Operational MODE: single process ***
Server initiated...
問題は、アプリのusername.pyhtonanywhere.com/aboutを表示しようとすると、タイムアウトになります。これは、CherryPy サーバー (deploy.py 内) の起動中に指定されたポートが正しくないことが原因であると考えられます。
CherryPyサーバーを適切に開始する方法を誰か教えてください。