Ubuntu 12.04.3 LTS EC2 インスタンス (Apache、Java などをインストールしました) があり、Anaconda/Python の動作バージョンがあります。
また、フラスコ(Apacheの背後で実行)をセットアップし、仮想ホストをセットアップしました。フラスコ用に次のディレクトリを設定しています。
私のinit .pyファイルは非常に単純です。
from __future__ import division
import string
import datetime
import json
import xml.etree.ElementTree as ET
from flask import Flask, jsonify
from flask import abort
#import pandas as pd
#import requests
app = Flask(__name__)
@app.route("/")
def hello():
return "test6"
if __name__ == "__main__":
app.run()
次に、python init .pyを実行した後、EC2 インスタンスのパブリック アドレスに到達すると、すべて問題なく、期待どおりに「test6」というメッセージが表示されます。
今、私は pandasまたはrequestsのいずれかのコメントを外します。
* Running on http://127.0.0.1:5000/
私が実行すると:
curl http://127.0.0.1:5000/
期待どおりの結果が得られます (つまり、'test6')。
しかし、同じ EC2 パブリック URL に移動すると、次のようになります。
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, admin@mywebsite.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Apache/2.2.22 (Ubuntu) Server at ec2-xx-xxx-xxx-xxx.compute-1.amazonaws.com Port 80
誰が何が起こっているのか知っていますか?Pythonのコマンドラインバージョンからインポートできる2つのモジュールをインポートしています(また、セットアップ全体がMacでローカルに正常に動作します)。
インスタンスが小さいため、メモリが不足している可能性がありますか?
助けてくれてありがとう!
EDIT:Apacheサーバーのログ(error.log)を見るだけです:
[Sun Nov 03 21:48:56 2013] [notice] Apache/2.2.22 (Ubuntu) mod_wsgi/3.3 Python/2.7.3 configured -- resuming normal operations
[Sun Nov 03 21:49:51 2013] [notice] caught SIGTERM, shutting down
[Sun Nov 03 21:49:52 2013] [warn] mod_wsgi: Compiled for Python/2.7.2+.
[Sun Nov 03 21:49:52 2013] [warn] mod_wsgi: Runtime using Python/2.7.3.
[Sun Nov 03 21:49:52 2013] [notice] Apache/2.2.22 (Ubuntu) mod_wsgi/3.3 Python/2.7.3 configured -- resuming normal operations
[Sun Nov 03 21:50:02 2013] [error] [client xx.xxx.xxx.xx] mod_wsgi (pid=6874): Target WSGI script '/var/www/microblog/microblog.wsgi' cannot be loaded as Python module.
[Sun Nov 03 21:50:02 2013] [error] [client xx.xxx.xxx.xx] mod_wsgi (pid=6874): Exception occurred processing WSGI script '/var/www/microblog/microblog.wsgi'.
[Sun Nov 03 21:50:02 2013] [error] [client xx.xxx.xxx.xx] Traceback (most recent call last):
[Sun Nov 03 21:50:02 2013] [error] [client xx.xxx.xxx.xx] File "/var/www/microblog/microblog.wsgi", line 7, in <module>
[Sun Nov 03 21:50:02 2013] [error] [client xx.xxx.xxx.xx] from app import app as application
[Sun Nov 03 21:50:02 2013] [error] [client xx.xxx.xxx.xx] File "/var/www/microblog/app/__init__.py", line 11, in <module>
[Sun Nov 03 21:50:02 2013] [error] [client xx.xxx.xxx.xx] import pandas as pd
[Sun Nov 03 21:50:02 2013] [error] [client xx.xxx.xxx.xx] ImportError: No module named pandas
[Sun Nov 03 21:50:03 2013] [error] [client xx.xxx.xxx.xx] mod_wsgi (pid=6873): Target WSGI script '/var/www/microblog/microblog.wsgi' cannot be loaded as Python module.
[Sun Nov 03 21:50:03 2013] [error] [client xx.xxx.xxx.xx] mod_wsgi (pid=6873): Exception occurred processing WSGI script '/var/www/microblog/microblog.wsgi'.
[Sun Nov 03 21:50:03 2013] [error] [client xx.xxx.xxx.xx] Traceback (most recent call last):
[Sun Nov 03 21:50:03 2013] [error] [client xx.xxx.xxx.xx] File "/var/www/microblog/microblog.wsgi", line 7, in <module>
[Sun Nov 03 21:50:03 2013] [error] [client xx.xxx.xxx.xx] from app import app as application
[Sun Nov 03 21:50:03 2013] [error] [client xx.xxx.xxx.xx] File "/var/www/microblog/app/__init__.py", line 11, in <module>
[Sun Nov 03 21:50:03 2013] [error] [client xx.xxx.xxx.xx] import pandas as pd
[Sun Nov 03 21:50:03 2013] [error] [client xx.xxx.xxx.xx] ImportError: No module named pandas