AWSEC2にflaskアプリをデプロイしたいと思います。しかし、500内部サーバーエラーが発生しました。
まず、ApacheWebサーバーとmod_wsgiをインストールしました。
$ sudo apt-get update
$ sudo apt-get install apache2
$ sudo apt-get install libapache2-mod-wsgi
$ sudo apt-get install libapache2-mod-wsgi-py2
pip3とflaskをインストールしました。
$ sudo apt-get install python3-pip
$ sudo pip3 install flask
これは、flaskappディレクトリのflask.wsgiファイルです。
import sys
sys.path.insert(0, '/var/www/html/flaskapp')
from flaskapp import app as application
mod_wsgiを有効にしました。
WSGIDaemonProcess flaskapp threads=5
WSGIScriptAlias / /var/www/html/flaskapp/flaskapp.wsgi
<Directory flaskapp>
WSGIProcessGroup flaskapp
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
最後に、apache2を再起動しました。
$ sudo apachectl restart
AWS EC2ドメインにアクセスすると、500 Internal ServerErrorが発生しました。
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at webmaster@localhost to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.
私のflaskappはpython3で実行する必要があります。
この問題の処理方法がわかりません。
同様のタイプの質問は以前に回答されています。
答えからの引用:
問題は基本的に、仮想環境にFlaskと、場合によっては他の必要なライブラリをインストールしているが、python(wsgiインターフェイス)がこれらの追加ライブラリがインストールされていないシステムpythonで実行されていることです。
どうやらこれを処理する1つの方法は、
site
パッケージを使用してsite-packages
、venvから実行されるPythonにを追加することです。これはあなたの.wsgi
ファイルに入るでしょう。
import site
site.addsitedir('/path/to/your/venv/lib/pythonX.X/site-packages')
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加