質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

2回答

2560閲覧

Internal Server Error

退会済みユーザー

退会済みユーザー

総合スコア0

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2019/01/21 09:48

編集2019/01/22 02:44

前提・実現したいこと

AWS の Elastic Beanstalk を使用してDjangoサイトを公開しようとしてます。
以下のサイトをそのまま実行していきましたが、最後に eb open をしたところ Internal Server Error が表示されてしましました。
わけわかめ...

eb deploy をしてもエラー表示が出ず...
setting.py もしくは wsgi.py に問題があるかもしれませんが....
どなたかご教授頂けると幸いです。

↓参考資料
https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/create-deploy-python-django.html#python-django-deploy

発生している問題・エラーメッセージ

エラーメッセージ

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at root@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.

ここで、よく分からないか eb logs で何が起こっているか確かめてみる...

[Mon Jan 21 09:43:34.028590 2019] [:error] [pid 6389] [remote 172.31.42.12:56] Traceback (most recent call last):
[Mon Jan 21 09:43:34.028621 2019] [:error] [pid 6389] [remote 172.31.42.12:56] File "/opt/python/current/app/oursite/wsgi.py", line 12, in <module>
[Mon Jan 21 09:43:34.028625 2019] [:error] [pid 6389] [remote 172.31.42.12:56] from django.core.wsgi import get_wsgi_application
[Mon Jan 21 09:43:34.028640 2019] [:error] [pid 6389] [remote 172.31.42.12:56] ModuleNotFoundError: No module named 'django'
[Mon Jan 21 09:43:46.699791 2019] [:error] [pid 6389] [remote 172.31.0.156:52] mod_wsgi (pid=6389): Target WSGI script '/opt/python/current/app/oursite/wsgi.py' cannot be loaded as Python module.
[Mon Jan 21 09:43:46.699843 2019] [:error] [pid 6389] [remote 172.31.0.156:52] mod_wsgi (pid=6389): Exception occurred processing WSGI script '/opt/python/current/app/oursite/wsgi.py'.

何が起こっているかわかりません。
どうすれば良いのか教えて下さい。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

謎な現象が続きましたが、一回自身のノートパソコンをシャットダウン

eb terminate

上記のコマンドは、環境を削除

eb create
eb config

上記コマンド実行時に WSGI の PATH を application.py から oursite/wsgi.py に変更

eb deploy

した結果、上手くデプロイすることが出来ました。(感激!!)

YoheiSakuraiさん、ご協力のほどありがとうございました。

投稿2019/01/24 05:00

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

たぶんrequirements.txtにdjangoが記載されていない。手順通りに進めれば、

(eb-virt) ~/ebdjango$ pip freeze > requirements.txt

でdjangoがrequirements.txtに記載されるはず。

投稿2019/01/22 02:42

YouheiSakurai

総合スコア6142

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/01/22 03:12

返信ありがとうございます。 以下の様にコマンドを入力 C:\Users\flore\Documents\oursite>activate (env1) C:\Users\flore\Documents\oursite>pip freeze > requirements.txt (env1) C:\Users\flore\Documents\oursite>deactivate C:\Users\flore\Documents\oursite>eb deploy Creating application version archive "app-190122_120506". Uploading: [##################################################] 100% Done... 2019-01-22 03:09:05 INFO Environment update is starting. 2019-01-22 03:09:13 INFO Deploying new version to instance(s). 2019-01-22 03:09:20 ERROR Your requirements.txt is invalid. Snapshot your logs for details. 2019-01-22 03:09:24 ERROR [Instance: i-0ff7f57f707f1bb25] Command failed on instance. Return code: 1 Output: (TRUNCATED)...) File "/usr/lib64/python2.7/subprocess.py", line 190, in check_call raise CalledProcessError(retcode, cmd) CalledProcessError: Command '/opt/python/run/venv/bin/pip install -r /opt/python/ondeck/app/requirements.txt' returned non-zero exit status 1. Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py failed. For more detail, check /var/log/eb-activity.log using console or EB CLI. 2019-01-22 03:09:24 INFO Command execution completed on all instances. Summary: [Successful: 0, Failed: 1]. 2019-01-22 03:09:25 ERROR Unsuccessful command execution on instance id(s) 'i-0ff7f57f707f1bb25'. Aborting the operation. 2019-01-22 03:09:25 ERROR Failed to deploy application. ERROR: ServiceError - Failed to deploy application. またまたエラーが出てきました。 なぜ、requirements.txt が無効になっているのでしょうか。
YouheiSakurai

2019/01/22 03:18

手順を最初からさかのぼって実施してから「pip freeze > requirements.txt」を実行するとrequirements.txtにDjango等々が記載されます。requirements.txtの中はどうなってますか?
退会済みユーザー

退会済みユーザー

2019/01/22 03:21

awsebcli==3.14.10 botocore==1.12.80 cement==2.8.2 certifi==2018.11.29 chardet==3.0.4 colorama==0.3.9 Django==2.1.5 docutils==0.14 ebcli==4.0.18 enum34==1.1.6 idna==2.7 Jinja2==2.10 jmespath==0.9.3 keyring==9.0 keyrings.alt==3.1.1 MarkupSafe==1.1.0 pathspec==0.5.5 python-dateutil==2.7.5 pytz==2018.9 pywin32-ctypes==0.2.0 PyYAML==3.13 requests==2.20.1 semantic-version==2.5.0 six==1.11.0 termcolor==1.1.0 urllib3==1.24.1 virtualenv==16.2.0 virtualenvwrapper-win==1.2.5 上記のようになっています。 度々すいません。凄い助かります。
YouheiSakurai

2019/01/22 03:36

PyYAMLはインストールにCコンパイラが必要なのでそこで引っかかってるのかも。でも、これを外してたらなんでかわからないです。続きは「For more detail, check /var/log/eb-activity.log using console or EB CLI.」に従いましょう。
退会済みユーザー

退会済みユーザー

2019/01/22 06:50

ごめんなさい。 上記のエラーは、 requirements.txt がエクスプローラー内で requirements に変換されていたせいでエラーが生じていたようです。 再度 requirements.txt にしたのでエラーが表示されず、正常に eb deploy 出来ました。 が、 eb open をすると、最初のエラーが表示されるしまい。 また、振り出しに戻ってしまいました。 Internal Server Error が... どうしましょう。 教えて下さい。
退会済みユーザー

退会済みユーザー

2019/01/22 07:06

そして、面白いことに windows10 の拡張子を表示で requirements.txt.txt になっているのに eb deploy をするとエラーが表示されず... requirements.txt に直すと上記(2個前の自身のエラー表示が...)が表示されるというおかしなことに... 取り合えず、requirements.txt.txt で試していますが、Internal Server Error が出る始末 ご教授頂けると幸いです。
YouheiSakurai

2019/01/22 07:50

最初から最後まで一度https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/create-deploy-python-django.html#python-django-deployの通りにやりましょう。で、成功したら少しづつ必要な部分を変更しながらその都度成功するか見ましょう。
退会済みユーザー

退会済みユーザー

2019/01/22 08:03

またまた気付いたことを載せていきたいと思います。 requirements.txt を入れてない場合...エラー表示がされません。 逆に requirements.txt を入れていた場合...エラー表示がされる。 ここから、 requirements.txt に何かしらの間違いがあるのでは... もう一度 eb deploy の実行結果を下記に記述 C:\Users\flore\Documents\oursite>eb deploy Creating application version archive "app-190122_164154". Uploading oursite/app-190122_164154.zip to S3. This may take a while. Upload Complete. 2019-01-22 07:41:59 INFO Environment update is starting. 2019-01-22 07:42:06 INFO Deploying new version to instance(s). 2019-01-22 07:42:12 ERROR Your requirements.txt is invalid. Snapshot your logs for details. 2019-01-22 07:42:13 ERROR [Instance: i-0e386e7cb25fa3411] Command failed on instance. Return code: 1 Output: (TRUNCATED)...) File "/usr/lib64/python2.7/subprocess.py", line 190, in check_call raise CalledProcessError(retcode, cmd) CalledProcessError: Command '/opt/python/run/venv/bin/pip install -r /opt/python/ondeck/app/requirements.txt' returned non-zero exit status 1. Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py failed. For more detail, check /var/log/eb-activity.log using console or EB CLI. 2019-01-22 07:42:13 INFO Command execution completed on all instances. Summary: [Successful: 0, Failed: 1]. 2019-01-22 07:42:14 ERROR Unsuccessful command execution on instance id(s) 'i-0e386e7cb25fa3411'. Aborting the operation. 2019-01-22 07:42:14 ERROR Failed to deploy application. ERROR: ServiceError - Failed to deploy application. AWS のグループにおける管理ポリシーに何か足りないサービスがあるのかもしれないです。 ↑そういうことではないんですかね?...(そういうことではない気がする笑) 以下にポリシー名を記述しておきます。 AmazonEC2FullAccess AdministratorAccess AWSElasticBeanstalkService これ以外に、アタッチしなければいけないサービスがあればエラーの原因含めて教えて下さい。 また、この時のエラーログを以下に記述しておきます。 /var/log/httpd/error_log ------------------------------------- [Tue Jan 22 07:59:51.893933 2019] [:error] [pid 30793] import threading [Tue Jan 22 07:59:51.893944 2019] [:error] [pid 30793] File "/usr/lib64/python3.6/threading.py", line 7, in <module> [Tue Jan 22 07:59:51.894024 2019] [:error] [pid 30793] from traceback import format_exc as _format_exc [Tue Jan 22 07:59:51.894036 2019] [:error] [pid 30793] File "/usr/lib64/python3.6/traceback.py", line 5, in <module> [Tue Jan 22 07:59:51.894113 2019] [:error] [pid 30793] import linecache [Tue Jan 22 07:59:51.894125 2019] [:error] [pid 30793] File "/opt/python/run/venv/lib64/python3.6/linecache.py", line 11, in <module> [Tue Jan 22 07:59:51.894206 2019] [:error] [pid 30793] import tokenize [Tue Jan 22 07:59:51.894218 2019] [:error] [pid 30793] File "/opt/python/run/venv/lib64/python3.6/tokenize.py", line 33, in <module> [Tue Jan 22 07:59:51.894324 2019] [:error] [pid 30793] import re [Tue Jan 22 07:59:51.894336 2019] [:error] [pid 30793] File "/opt/python/run/venv/lib64/python3.6/re.py", line 142, in <module> [Tue Jan 22 07:59:51.894498 2019] [:error] [pid 30793] class RegexFlag(enum.IntFlag): [Tue Jan 22 07:59:51.894512 2019] [:error] [pid 30793] AttributeError: module 'enum' has no attribute 'IntFlag' /var/log/eb-activity.log ------------------------------------- [2019-01-22T07:42:11.170Z] INFO [31012] - [Application update app-190122_164154@14/AppDeployStage0/AppDeployPreHook/01_configure_xray.sh] : Starting activity... [2019-01-22T07:42:11.277Z] INFO [31012] - [Application update app-190122_164154@14/AppDeployStage0/AppDeployPreHook/01_configure_xray.sh] : Completed activity. [2019-01-22T07:42:11.277Z] INFO [31012] - [Application update app-190122_164154@14/AppDeployStage0/AppDeployPreHook/01new.py] : Starting activity... [2019-01-22T07:42:11.599Z] INFO [31012] - [Application update app-190122_164154@14/AppDeployStage0/AppDeployPreHook/01new.py] : Completed activity. [2019-01-22T07:42:11.599Z] INFO [31012] - [Application update app-190122_164154@14/AppDeployStage0/AppDeployPreHook/02unzip.py] : Starting activity... [2019-01-22T07:42:11.929Z] INFO [31012] - [Application update app-190122_164154@14/AppDeployStage0/AppDeployPreHook/02unzip.py] : Completed activity. Result: Archive: /opt/elasticbeanstalk/deploy/appsource/source_bundle inflating: /opt/python/ondeck/app/.project inflating: /opt/python/ondeck/app/.pydevproject inflating: /opt/python/ondeck/app/db.sqlite3 inflating: /opt/python/ondeck/app/manage.py よろしくお願いします。
退会済みユーザー

退会済みユーザー

2019/01/22 08:37

仮想環境内で pip freeze > requirements.txt に再度書き込んだところ Django==2.0.1 pytz==2018.9 に変更されていた。 これならデプロイが成功するのかと思ったら 上記と同じエラーが..... もー、怖い怖い!!
YouheiSakurai

2019/01/22 08:51

「AttributeError: module 'enum' has no attribute 'IntFlag'」は「enum34==1.1.6」が原因でした。
退会済みユーザー

退会済みユーザー

2019/01/22 09:05

現在の requirements.txt の中身は Django==2.0.1 pytz==2018.9 です。仮想環境に入らずのpip freezeは上記(一番最初)のように様々なことが書かれていましたが、現在は Django==2.0.1 pytz==2018.9 として deploy を試しています。 これでも大丈夫なはずですが... よくわからないです。
退会済みユーザー

退会済みユーザー

2019/01/22 14:58

色々なサイトを参照してみましたが、有効な解決方法がありませんね。 git add . などをしているのですが、必要ではないと思うんです。 .ebextensions の以下にパッケージを読み込ませないといけないんでしょうか。 AWSのサイトには何も書いてないのに... もう少し思考してみます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問