質問編集履歴

12

内容変更&確認

2024/09/17 08:30

投稿

Hikaru-UPP
Hikaru-UPP

スコア6

test CHANGED
File without changes
test CHANGED
@@ -1,36 +1,52 @@
1
1
  ### 実現したいこと
2
- AWSのLightsailにデプロイしたDjangoのアプリケーションの一部のページでServerError500を解消したいが、エラーの原因追及を行うために、ロギング設定を行ったのだが、これもエラーとなった。
3
-
4
- そのため、「ロギング設定の正常化(バグ解消)→Djangoのアプリケーションの一部のページでServerError500解消を実現したい。
2
+ Djangoのアプリケーションの一部のページでServerError500解消を実現したい。
5
3
 
6
4
  ### 発生している問題・分からないこと
7
5
  以前、AWSのLightsailにデプロイしたDjangoのアプリケーションがあり、下記の内容を行う前は、エラーも出ることなく、正常に利用することができました。
8
6
 
9
7
  ・VSCode上(ローカル環境)で、Djangoのディレクトリ(「students」)のmodels.pyの不要なデータベース項目を削除し、マイグレーションを行いました。
10
8
 
11
- そこで、ロギング設定を行い、エラーログをlogsというファイルに書き出すように設定したところ、ロギング設定でもエラーが生じてしまいました。
12
-
13
9
  ### エラーメッセージ
14
- sudo cat /opt/bitnami/apache2/logs/error_logを行ったところ、settings.loggingでエラーが出ていることを確認。
15
-
16
- 「 configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)」、 「File "/opt/bitnami/python/lib/python3.11/site-packages/django/utils/log.py", line 76, in configure_logging」```
17
-
18
- また、ロギング設定の前は、下記のエラー生じました。
10
+ ロギング設定を行いエラーログを確認したところ、下記の内容ました。
19
11
 
20
12
  ```error
21
-
22
- 【ロギング設定前】
23
- student_detail」のページ上には、「ServerError500」の表示、ページ検証のコンソールには、
13
+ result = block.nodelist.render(context)
14
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
15
+ File "/opt/bitnami/python/lib/python3.11/site-packages/django/template/base.py", line 10
16
+ 05, in render
24
- 「Failed to load resource: the server responded with a status of 500 (Internal Server Error)
17
+ return SafeString("".join([node.render_annotated(context) for node in self]))
25
-
18
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
19
+ File "/opt/bitnami/python/lib/python3.11/site-packages/django/template/base.py", line 10
20
+ 05, in <listcomp>
21
+ return SafeString("".join([node.render_annotated(context) for node in self]))
22
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
23
+ File "/opt/bitnami/python/lib/python3.11/site-packages/django/template/base.py", line 96
24
+ 6, in render_annotated
25
+ return self.render(context)
26
+ ^^^^^^^^^^^^^^^^^^^^
27
+ File "/opt/bitnami/python/lib/python3.11/site-packages/django/template/base.py", line 10
28
+ 64, in render
26
- 一方で、ロギング設定後は、すべてのページが閲覧不能になってしまい、下記の表示が出ています。
29
+ output = self.filter_expression.resolve(context)
30
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31
+ File "/opt/bitnami/python/lib/python3.11/site-packages/django/template/base.py", line 71
27
- 【ロギング後】
32
+ 5, in resolve
33
+ obj = self.var.resolve(context)
34
+ ^^^^^^^^^^^^^^^^^^^^^^^^^
35
+ File "/opt/bitnami/python/lib/python3.11/site-packages/django/template/base.py", line 84
36
+ 7, in resolve
37
+ value = self._resolve_lookup(context)
38
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
39
+ File "/opt/bitnami/python/lib/python3.11/site-packages/django/template/base.py", line 89
40
+ 0, in _resolve_lookup
41
+ current = getattr(current, bit)
42
+ ^^^^^^^^^^^^^^^^^^^^^
43
+ File "/opt/bitnami/python/lib/python3.11/site-packages/django/db/models/fields/files.py"
44
+ , line 65, in url
45
+ self._require_file()
46
+ File "/opt/bitnami/python/lib/python3.11/site-packages/django/db/models/fields/files.py"
47
+ , line 40, in _require_file
28
- Internal Server Error
48
+ raise ValueError(
29
- The server encountered an internal error or misconfiguration and was unable to complete your request.
30
-
31
- Please contact the server administrator at you@example.com to inform them of the time this error occurred, and the actions you performed just before this error.
32
-
33
- More information about this error may be available in the server error log.
49
+ ValueError: The 'img' attribute has no file associated with it.
34
50
  ```
35
51
 
36
52
  ### 該当のソースコード
@@ -238,12 +254,12 @@
238
254
  },
239
255
  'handlers': {
240
256
  'console': {
241
- 'level': 'INFO',
257
+ 'level': 'DEBUG',
242
258
  'class': 'logging.StreamHandler',
243
259
  'formatter': 'development',
244
260
  },
245
261
  'file': {
246
- 'level': 'INFO',
262
+ 'level': 'DEBUG',
247
263
  'class': 'logging.FileHandler',
248
264
  'filename': os.path.join(BASE_DIR, f'logs/log_{today}.log'),
249
265
  'formatter': 'development',
@@ -252,7 +268,7 @@
252
268
  'loggers': {
253
269
  'django': {
254
270
  'handlers': ['file', 'console'],
255
- 'level': 'INFO',
271
+ 'level': 'DEBUG',
256
272
  'propagate': True,
257
273
  }
258
274
  },
@@ -265,34 +281,9 @@
265
281
  - [x] その他
266
282
 
267
283
  ##### 上記の詳細・結果
268
- 現在、当スレッドで、アドバイスをいただきつつ、まず、ロギングのエラー解消に動いていまその後、本題のエラーの原因追及を行おうと思っています。
284
+ 現在、当スレッドで、アドバイスをいただきつつ、まず、ロギングのエラー解消に動いていましたがようやくロギングのエラーが解消できました現在、本題のエラーの原因追及を行おうと思っています。
269
285
 
270
286
 
271
287
  ### 補足
272
- httpサーバがbitnamiユーザで動いてるかを確認し、rootがメインで動いており、daemonがユーザーリクエストの処理を行っており、bitnamiではApacheの実行がされていないと確認できました。
288
+
273
-
274
- 下記のコードをAWSのLightsail上で入力して、所有者の「daemon」に合わせました。
289
+
275
- sudo chown -R daemon:daemon /opt/bitnami/apache2/logs
276
-
277
- もう一度、ログディレクトリおよびログファイルの所有者を確認するために、下記のコードを確認しました。
278
-
279
- ログディレクトリの所有者を確認
280
- sudo ls -ld /opt/bitnami/apache2/logs
281
-
282
- ログファイルの所有者を確認
283
- sudo ls -l /opt/bitnami/apache2/logs
284
-
285
- -rw-r--r-- 1 daemon daemon 3275 Aug 31 23:27 error_log-20240901.gz
286
- -rw-r--r-- 1 daemon daemon 3839 Sep 7 21:15 error_log-20240908.gz
287
- -rw-r--r-- 1 daemon daemon 165660 Sep 14 23:51 error_log-20240915.gz
288
- srwx------ 1 daemon daemon 0 Sep 16 03:11 wsgi.2968.3.1.sock
289
-
290
- その後、エラーログファイルの内容を確認するために
291
- sudo ls -l /opt/bitnami/projects/student_info/myvenv/student_info/logs/
292
- を確認し、下記の内容まで確認しました。
293
-
294
- total 0
295
- -rw-r--r-- 1 bitnami bitnami 0 Sep 13 08:37 log_20240913.log
296
-
297
- Apache所有者でない「bitnami」が書き込みをしたが、出来ずに空ファイルになったのかなと推測できました。ただ、再度InternalServerErrorが表示されているページを更新しましたが、新しいログが生成できていない状況です。
298
-

11

情報の追加

2024/09/17 02:52

投稿

Hikaru-UPP
Hikaru-UPP

スコア6

test CHANGED
File without changes
test CHANGED
@@ -294,5 +294,5 @@
294
294
  total 0
295
295
  -rw-r--r-- 1 bitnami bitnami 0 Sep 13 08:37 log_20240913.log
296
296
 
297
- Apache所有者でない「bitnami」が書き込みをしたが、出来ずに空ファイルになったのかなと推測できました。
297
+ Apache所有者でない「bitnami」が書き込みをしたが、出来ずに空ファイルになったのかなと推測できました。ただ、再度InternalServerErrorが表示されているページを更新しましたが、新しいログが生成できていない状況です。
298
-
298
+

10

情報整理と追加

2024/09/17 02:37

投稿

Hikaru-UPP
Hikaru-UPP

スコア6

test CHANGED
File without changes
test CHANGED
@@ -1,5 +1,7 @@
1
1
  ### 実現したいこと
2
+ AWSのLightsailにデプロイしたDjangoのアプリケーションの一部のページでServerError500を解消したいが、エラーの原因追及を行うために、ロギング設定を行ったのだが、これもエラーとなった。
3
+
2
- AWSLightsailにデプイしたDjangoのアプリケーションの一部のページでServerError500を解消したい
4
+ ため、「ギング設定の正常化(バグ解消)→Djangoのアプリケーションの一部のページでServerError500を解消」を実現したい
3
5
 
4
6
  ### 発生している問題・分からないこと
5
7
  以前、AWSのLightsailにデプロイしたDjangoのアプリケーションがあり、下記の内容を行う前は、エラーも出ることなく、正常に利用することができました。
@@ -263,13 +265,34 @@
263
265
  - [x] その他
264
266
 
265
267
  ##### 上記の詳細・結果
266
-
267
268
  現在、当スレッドで、アドバイスをいただきつつ、まず、ロギングのエラー解消に動いています。その後、本題のエラーの原因追及を行おうと思っています。
268
269
 
269
270
 
270
271
  ### 補足
272
+ httpサーバがbitnamiユーザで動いてるかを確認し、rootがメインで動いており、daemonがユーザーリクエストの処理を行っており、bitnamiではApacheの実行がされていないと確認できました。
273
+
274
+ 下記のコードをAWSのLightsail上で入力して、所有者の「daemon」に合わせました。
275
+ sudo chown -R daemon:daemon /opt/bitnami/apache2/logs
276
+
271
- ログファイルのパーミッションは下記のように確認されました。
277
+ もう一度、ログディレクトリおよびログファイルの所有者を確認するために、下記のコードを確認ました。
278
+
279
+ ログディレクトリの所有者を確認
280
+ sudo ls -ld /opt/bitnami/apache2/logs
281
+
282
+ ログファイルの所有者を確認
283
+ sudo ls -l /opt/bitnami/apache2/logs
284
+
285
+ -rw-r--r-- 1 daemon daemon 3275 Aug 31 23:27 error_log-20240901.gz
286
+ -rw-r--r-- 1 daemon daemon 3839 Sep 7 21:15 error_log-20240908.gz
287
+ -rw-r--r-- 1 daemon daemon 165660 Sep 14 23:51 error_log-20240915.gz
288
+ srwx------ 1 daemon daemon 0 Sep 16 03:11 wsgi.2968.3.1.sock
289
+
290
+ その後、エラーログファイルの内容を確認するために
272
- drwxr-xr-x 2 bitnami bitnami 4096 Sep 13 08:37 /opt/bitnami/projects/student_info/myvenv/s
291
+ sudo ls -l /opt/bitnami/projects/student_info/myvenv/student_info/logs/
273
- tudent_info/logs
292
+ を確認し、下記の内容まで確認しました。
293
+
274
-
294
+ total 0
295
+ -rw-r--r-- 1 bitnami bitnami 0 Sep 13 08:37 log_20240913.log
296
+
275
- なの、パーミッションは問題ないよう思い
297
+ Apache所有者でない「bitnami」が書き込みをしたが、出来ず空ファイルになったのかなと推測できした
298
+

9

編集

2024/09/16 12:05

投稿

Hikaru-UPP
Hikaru-UPP

スコア6

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,8 @@
18
18
  ```error
19
19
 
20
20
  【ロギング設定前】
21
+ 「student_detail」のページ上には、「ServerError500」の表示、ページ検証のコンソールには、
21
- student_detail」のページ上には、「ServerError500」の表示、ページ検証のコンソールには、「Failed to load resource: the server responded with a status of 500 (Internal Server Error)」
22
+ 「Failed to load resource: the server responded with a status of 500 (Internal Server Error)」
22
23
 
23
24
  一方で、ロギング設定後は、すべてのページが閲覧不能になってしまい、下記の表示が出ています。
24
25
  【ロギング後】

8

編集

2024/09/16 12:04

投稿

Hikaru-UPP
Hikaru-UPP

スコア6

test CHANGED
File without changes
test CHANGED
@@ -28,6 +28,7 @@
28
28
  Please contact the server administrator at you@example.com to inform them of the time this error occurred, and the actions you performed just before this error.
29
29
 
30
30
  More information about this error may be available in the server error log.
31
+ ```
31
32
 
32
33
  ### 該当のソースコード
33
34
 

7

パーミッション情報についての追加

2024/09/16 11:31

投稿

Hikaru-UPP
Hikaru-UPP

スコア6

test CHANGED
File without changes
test CHANGED
@@ -266,4 +266,8 @@
266
266
 
267
267
 
268
268
  ### 補足
269
-
269
+ ログファイルのパーミッションは下記のよう確認されまた。
270
+ drwxr-xr-x 2 bitnami bitnami 4096 Sep 13 08:37 /opt/bitnami/projects/student_info/myvenv/s
271
+ tudent_info/logs
272
+
273
+ なので、パーミッションは問題ないように思います。

6

改善

2024/09/16 11:13

投稿

Hikaru-UPP
Hikaru-UPP

スコア6

test CHANGED
File without changes
test CHANGED
@@ -11,10 +11,11 @@
11
11
  ### エラーメッセージ
12
12
  sudo cat /opt/bitnami/apache2/logs/error_logを行ったところ、settings.loggingでエラーが出ていることを確認。
13
13
 
14
+ 「 configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)」、 「File "/opt/bitnami/python/lib/python3.11/site-packages/django/utils/log.py", line 76, in configure_logging」```
15
+
16
+ また、ロギング設定の前は、下記のエラーが生じていました。
17
+
14
18
  ```error
15
- 「 configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)」、 「File "/opt/bitnami/python/lib/python3.11/site-packages/django/utils/log.py", line 76, in configure_logging」```
16
-
17
- また、ロギング設定の前は、下記のエラーが生じていました。
18
19
 
19
20
  【ロギング設定前】
20
21
  「student_detail」のページ上には、「ServerError500」の表示、ページ検証のコンソールには、「Failed to load resource: the server responded with a status of 500 (Internal Server Error)」

5

テーマ文変更

2024/09/16 08:55

投稿

Hikaru-UPP
Hikaru-UPP

スコア6

test CHANGED
@@ -1 +1 @@
1
- AWSのLightsailにデプロイしたDjangoのアプリケーションの一部のページServerError500を解消したい お助けください!
1
+ AWSのLightsailにデプロイしたDjangoのアプリケーションのページServerError500を解消したい お助けください!
test CHANGED
File without changes

4

文章の整理

2024/09/16 08:30

投稿

Hikaru-UPP
Hikaru-UPP

スコア6

test CHANGED
File without changes
test CHANGED
@@ -6,14 +6,27 @@
6
6
 
7
7
  ・VSCode上(ローカル環境)で、Djangoのディレクトリ(「students」)のmodels.pyの不要なデータベース項目を削除し、マイグレーションを行いました。
8
8
 
9
+ そこで、ロギング設定を行い、エラーログをlogsというファイルに書き出すように設定したところ、ロギング設定でもエラーが生じてしまいました。
10
+
9
11
  ### エラーメッセージ
10
- sudo cat /opt/bitnami/apache2/logs/error_logを行いましapache気になるエラーコードは確認できませんでした
12
+ sudo cat /opt/bitnami/apache2/logs/error_logを行ところsettings.loggingでエラーが出ていることを確認。
11
13
 
12
14
  ```error
13
- Failed to load resource: the server responded with a status of 500 (Internal Server Error)
15
+ 「 configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)」、 「File "/opt/bitnami/python/lib/python3.11/site-packages/django/utils/log.py", line 76, in configure_logging」```
16
+
17
+ また、ロギング設定の前は、下記のエラーが生じていました。
18
+
14
- ```
19
+ 【ロギング設定前】
15
-
16
- 「student_detail」のページ上には、「ServerError500」の表示、ページ検証のコンソールには、「Failed to load resource: the server responded with a status of 500 (Internal Server Error)」と記載が表示されました。
20
+ 「student_detail」のページ上には、「ServerError500」の表示、ページ検証のコンソールには、「Failed to load resource: the server responded with a status of 500 (Internal Server Error)」
21
+
22
+ 一方で、ロギング設定後は、すべてのページが閲覧不能になってしまい、下記の表示が出ています。
23
+ 【ロギング後】
24
+ Internal Server Error
25
+ The server encountered an internal error or misconfiguration and was unable to complete your request.
26
+
27
+ Please contact the server administrator at you@example.com to inform them of the time this error occurred, and the actions you performed just before this error.
28
+
29
+ More information about this error may be available in the server error log.
17
30
 
18
31
  ### 該当のソースコード
19
32
 
@@ -78,166 +91,166 @@
78
91
 
79
92
  ```
80
93
 
81
- ```templates/student_detail.html
82
- {% extends "base.html" %}
83
- {% load django_bootstrap5 %}
84
-
85
- {% block title %}生徒情報詳細{% endblock %}
86
- {% block content %}
87
- <h1>生徒情報詳細</h1>
88
-
89
- <div class="container">
90
- <div class="card mb-3">
91
- <div class="card-body">
92
- <div class="row">
93
- <div class="col-md-6">
94
- <strong>ステータス:</strong>
95
- </div>
96
- <div class="col-md-6">
97
- {{ student.get_status_display }}
98
- </div>
99
- </div>
100
- </div>
101
- </div>
102
-
103
- <div class="card mb-3">
104
- <div class="card-body">
105
- <div class="row">
106
- <div class="col-md-6">
107
- <strong>生徒名:</strong>
108
- </div>
109
- <div class="col-md-6">
110
- {{ student.name }}
111
- </div>
112
- </div>
113
- </div>
114
- </div>
115
-
116
- {% if user.is_super_teacher %}
117
- <div class="card mb-3">
118
- <div class="card-body">
119
- <div class="row">
120
- <div class="col-md-6">
121
- <strong>保護者メールアドレス:</strong>
122
- </div>
123
- <div class="col-md-6">
124
- {{ student.mail }}
125
- </div>
126
- </div>
127
- </div>
128
- </div>
129
- {% endif %}
130
- <div class="card mb-3">
131
- <div class="card-body">
132
- <div class="row">
133
- <div class="col-md-6">
134
- <strong>誕生日:</strong>
135
- </div>
136
- <div class="col-md-6">
137
- {{ student.birthday }}
138
- </div>
139
- </div>
140
- </div>
141
- </div>
142
- <div class="card mb-3">
143
- <div class="card-body">
144
- <div class="row">
145
- <div class="col-md-6">
146
- <strong>年齢:</strong>
147
- </div>
148
- <div class="col-md-6">
149
- {{ student.age }} 歳
150
- </div>
151
- </div>
152
- </div>
153
- </div>
154
-
155
- <div class="card mb-3">
156
- <div class="card-body">
157
- <div class="row">
158
- <div class="col-md-6">
159
- <strong>学校:</strong>
160
- </div>
161
- <div class="col-md-6">
162
- {{ student.school }}
163
- </div>
164
- </div>
165
- </div>
166
- </div>
167
- <div class="card mb-3">
168
- <div class="card-body">
169
- <div class="row">
170
- <div class="col-md-6">
171
- <strong>学年:</strong>
172
- </div>
173
- <div class="col-md-6">
174
- {{ student.years }} 年生
175
- </div>
176
- </div>
177
- </div>
178
- </div>
179
- <div class="card mb-3">
180
- <div class="card-body">
181
- <div class="row">
182
- <div class="col-md-6">
183
- <strong>入塾日:</strong>
184
- </div>
185
- <div class="col-md-6">
186
- {{ student.entrance }}
187
- </div>
188
- </div>
189
- </div>
190
- </div>
191
-
192
- <div class="card mb-3">
193
- <div class="card-body">
194
- <div class="row">
195
- <div class="col-md-6">
196
- <strong>兄弟姉妹構成:</strong>
197
- </div>
198
- <div class="col-md-6">
199
- {{ student.brother }}
200
- </div>
201
- </div>
202
- </div>
203
- </div>
204
-
205
- <div class="card mb-3">
206
- <div class="card-body">
207
- <div class="row">
208
- <div class="col-md-6">
209
- <strong>写真:</strong>
210
- </div>
211
- <div class="col-md-6">
212
- <img src="{{ student.img.url }}" style="width:100px; height:auto;">
213
- </div>
214
- </div>
215
- </div>
216
- </div>
217
-
218
- {% if user.is_super_teacher %}
219
- <div class="card mb-3">
220
- <div class="card-body">
221
- <div class="row">
222
- <div class="col-md-6">
223
- <strong>特記事項(講師との相性や学習の注意点):</strong>
224
- </div>
225
- <div class="col-md-6">
226
- {{ student.explanation }}
227
- </div>
228
- </div>
229
- </div>
230
- </div>
231
- {% endif %}
232
- </div>
233
-
234
- <form method="post" enctype="multipart/form-data">
235
- {% csrf_token %}
236
- <br>
237
- <a href="{% url 'list' %}">生徒一覧へ戻る</a>
238
- </form>
239
- {% endblock %}
240
-
94
+
95
+ ```
96
+ 【settings.py】
97
+ from pathlib import Path
98
+ from environs import Env
99
+ from pathlib import Path
100
+
101
+
102
+ # Environment Variables
103
+ env = Env()
104
+ env.read_env()
105
+
106
+ BASE_DIR = Path(__file__).resolve().parent.parent
107
+
108
+
109
+
110
+ SECRET_KEY = env.str('SECRET_KEY')
111
+
112
+ DEBUG = env.bool('DEBUG')
113
+
114
+ ALLOWED_HOSTS = ['〇〇', '127.0.0.1']
115
+
116
+
117
+ INSTALLED_APPS = [
118
+ 'django.contrib.admin',
119
+ 'django.contrib.auth',
120
+ 'django.contrib.contenttypes',
121
+ 'django.contrib.sessions',
122
+ 'django.contrib.messages',
123
+ 'django.contrib.staticfiles',
124
+ 'students',
125
+ 'django_bootstrap5',
126
+ 'import_export',
127
+ 'accounts.apps.AccountsConfig',
128
+ 'lessons',
129
+ 'exams',
130
+ ]
131
+
132
+ MIDDLEWARE = [
133
+ 'django.middleware.security.SecurityMiddleware',
134
+ 'django.contrib.sessions.middleware.SessionMiddleware',
135
+ 'django.middleware.common.CommonMiddleware',
136
+ 'django.middleware.csrf.CsrfViewMiddleware',
137
+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
138
+ 'django.contrib.messages.middleware.MessageMiddleware',
139
+ 'django.middleware.clickjacking.XFrameOptionsMiddleware',
140
+ ]
141
+
142
+ ROOT_URLCONF = 'student_info.urls'
143
+
144
+ TEMPLATES = [
145
+ {
146
+ 'BACKEND': 'django.template.backends.django.DjangoTemplates',
147
+ 'DIRS': [BASE_DIR/'templates'],
148
+ 'APP_DIRS': True,
149
+ 'OPTIONS': {
150
+ 'context_processors': [
151
+ 'django.template.context_processors.debug',
152
+ 'django.template.context_processors.request',
153
+ 'django.contrib.auth.context_processors.auth',
154
+ 'django.contrib.messages.context_processors.messages',
155
+ ],
156
+ },
157
+ },
158
+ ]
159
+
160
+ WSGI_APPLICATION = 'student_info.wsgi.application'
161
+
162
+
163
+ if env.bool('LOCAL'):
164
+ DATABASES = {
165
+ 'default': {
166
+ 'ENGINE': 'django.db.backends.sqlite3',
167
+ 'NAME': BASE_DIR / 'db.sqlite3',
168
+ }
169
+ }
170
+ else:
171
+ DATABASES = {
172
+ 'default': {
173
+ 'ENGINE': 'django.db.backends.mysql',
174
+ 'NAME': env.str('DB_NAME'),
175
+ 'USER': env.str('DB_USER'),
176
+ 'HOST': env.str('DB_HOST'),
177
+ 'PASSWORD': env.str('DB_PASSWORD'),
178
+ 'PORT': env.int('DB_PORT'),
179
+ }
180
+ }
181
+
182
+ AUTH_PASSWORD_VALIDATORS = [
183
+ {
184
+ 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
185
+ },
186
+ {
187
+ 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
188
+ },
189
+ {
190
+ 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
191
+ },
192
+ {
193
+ 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
194
+ },
195
+ ]
196
+
197
+ LANGUAGE_CODE = 'ja'
198
+
199
+ TIME_ZONE = 'Asia/Tokyo'
200
+
201
+ USE_I18N = True
202
+
203
+ USE_TZ = True
204
+
205
+ STATIC_URL = 'static/'
206
+ STATIC_ROOT = BASE_DIR / 'static'
207
+
208
+ DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
209
+
210
+ MEDIA_URL = '/media/'
211
+ MEDIA_ROOT = BASE_DIR / 'media_local'
212
+
213
+ AUTH_USER_MODEL = 'accounts.CustomUser'
214
+
215
+ LOGIN_URL = 'login'
216
+ LOGIN_REDIRECT_URL = 'list'
217
+ LOGOUT_REDIRECT_URL = 'logout'
218
+
219
+ CSRF_COOKIE_SECURE = True
220
+ SESSION_COOKIE_SECURE = True
221
+
222
+ import os
223
+ import datetime
224
+
225
+ today = datetime.date.today().strftime('%Y%m%d')
226
+ LOGGING = {
227
+ 'version': 1,
228
+ 'disable_existing_loggers': False,
229
+ 'formatters': {
230
+ 'development': {
231
+ 'format': '%(asctime)s [%(levelname)s] %(message)s'
232
+ },
233
+ },
234
+ 'handlers': {
235
+ 'console': {
236
+ 'level': 'INFO',
237
+ 'class': 'logging.StreamHandler',
238
+ 'formatter': 'development',
239
+ },
240
+ 'file': {
241
+ 'level': 'INFO',
242
+ 'class': 'logging.FileHandler',
243
+ 'filename': os.path.join(BASE_DIR, f'logs/log_{today}.log'),
244
+ 'formatter': 'development',
245
+ },
246
+ },
247
+ 'loggers': {
248
+ 'django': {
249
+ 'handlers': ['file', 'console'],
250
+ 'level': 'INFO',
251
+ 'propagate': True,
252
+ }
253
+ },
241
254
  ```
242
255
 
243
256
  ### 試したこと・調べたこと
@@ -247,21 +260,8 @@
247
260
  - [x] その他
248
261
 
249
262
  ##### 上記の詳細・結果
250
- VScode上でロギング設定を行った上で、githubを介して、AWSのLightsailにデプロイをし、Lightsailのコンソールにて、プロジェクトディレクトリに移動し、エラーログを確認しようとしたところ、下記のようなエラーメッセージがページに表現されました。
263
+
251
-
252
- > Internal Server Error
253
- The server encountered an internal error or misconfiguration and was unable to complete your request.
254
-
255
- Please contact the server administrator at you@example.com to inform them of the time this error occurred, and the actions you performed just before this error.
256
-
257
- More information about this error may be available in the server error log.
258
-
259
- ロギングのエラーログにて、原因追及するこに行き詰ってしま、未だに、原因がわかっていないという状況です。なお、VScodeのローカル環境では、正常に動いております。
264
+ 現在、当スレッドで、アドバイスをいただきつつ、まず、ロギングのエラー解消動いいます。その後本題のエラーの原因追及を行おうっています。
260
-
261
- なお、Apacheのエラーログには、「 configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)」、 「File "/opt/bitnami/python/lib/python3.11/site-packages/django/utils/log.py", line 76, in configure_logging」
262
- のようにロギング周辺でエラーが出ていることはわかりました。
263
-
264
- そこで、settings.pyをもう一度確認しています。
265
265
 
266
266
 
267
267
  ### 補足

3

追加

2024/09/16 08:22

投稿

Hikaru-UPP
Hikaru-UPP

スコア6

test CHANGED
File without changes
test CHANGED
@@ -258,7 +258,11 @@
258
258
 
259
259
  ロギングでのエラーログにて、原因追及することに行き詰ってしまい、未だに、原因がわかっていないという状況です。なお、VScodeのローカル環境では、正常に動いております。
260
260
 
261
+ なお、Apacheのエラーログには、「 configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)」、 「File "/opt/bitnami/python/lib/python3.11/site-packages/django/utils/log.py", line 76, in configure_logging」
262
+ のようにロギング周辺でエラーが出ていることはわかりました。
263
+
261
- のためAWSのLightsailでのエラーログの確認から、教えていただけると幸いです。
264
+ こでsettings.pyをもう一度確認ていす。
265
+
262
266
 
263
267
  ### 補足
264
268
  特になし

2

 

2024/09/13 10:24

投稿

Hikaru-UPP
Hikaru-UPP

スコア6

test CHANGED
@@ -1 +1 @@
1
- AWSのLightsailにデプロイしたDjangoのアプリケーションの一部のページでServerError500を解消したい
1
+ AWSのLightsailにデプロイしたDjangoのアプリケーションの一部のページでServerError500を解消したい :お助けください!
test CHANGED
File without changes

1

ロギング設定を行うことで、エラーログを確認したが、うまく行かずに今に至っている旨を内容を追記。

2024/09/13 05:52

投稿

Hikaru-UPP
Hikaru-UPP

スコア6

test CHANGED
File without changes
test CHANGED
@@ -6,12 +6,14 @@
6
6
 
7
7
  ・VSCode上(ローカル環境)で、Djangoのディレクトリ(「students」)のmodels.pyの不要なデータベース項目を削除し、マイグレーションを行いました。
8
8
 
9
- 上記の結果、「student_detail」のページ上には、「ServerError500」の表示、ページ検証のコンソールには、「Failed to load resource: the server responded with a status of 500 (Internal Server Error)」と記載が表示されました。
10
-
11
9
  ### エラーメッセージ
10
+ sudo cat /opt/bitnami/apache2/logs/error_logを行いましたが、apache上で気になるエラーコードは確認できませんでした。
11
+
12
12
  ```error
13
13
  Failed to load resource: the server responded with a status of 500 (Internal Server Error)
14
14
  ```
15
+
16
+ 「student_detail」のページ上には、「ServerError500」の表示、ページ検証のコンソールには、「Failed to load resource: the server responded with a status of 500 (Internal Server Error)」と記載が表示されました。
15
17
 
16
18
  ### 該当のソースコード
17
19
 
@@ -21,20 +23,6 @@
21
23
  from jp_birthday.models import BirthdayModel
22
24
  from datetime import datetime
23
25
  from accounts.models import Subject,CustomUser
24
-
25
-
26
-
27
- class School(models.Model):
28
- name = models.CharField(max_length=200)
29
-
30
- def __str__(self):
31
- return self.name
32
-
33
- class ModelsTest(BirthdayModel):
34
-
35
- class Meta:
36
- app_label = 'jp_birthday'
37
- ordering = ('pk',)
38
26
 
39
27
  class Student(models.Model):
40
28
  Choices_status = (
@@ -70,19 +58,6 @@
70
58
  class Meta:
71
59
  ordering = ['name']
72
60
 
73
- class StudentSubject(models.Model):
74
- student = models.ForeignKey(Student, on_delete=models.CASCADE, related_name='subjects')
75
- subject = models.ForeignKey(Subject, on_delete=models.CASCADE)
76
- teacher = models.ForeignKey(CustomUser, on_delete=models.CASCADE, related_name='taught_subjects',default=1)
77
- start = models.DateField()
78
- end = models.DateField(blank=True, null=True)
79
-
80
- def __str__(self):
81
- return f"{self.student} の {self.subject} の担当講師は {self.teacher}"
82
-
83
- def get_absolute_url(self):
84
- return reverse('list')
85
-
86
61
  ```
87
62
 
88
63
  ```students/views.py
@@ -96,41 +71,6 @@
96
71
  from accounts.models import Subject, CustomUser
97
72
  from django.shortcuts import render, redirect
98
73
  from .forms import StudentForm
99
- from django.utils import timezone
100
-
101
-
102
-
103
- class StudentListView(LoginRequiredMixin, ListView):
104
- model = Student
105
- paginate_by = 100
106
-
107
- def get_queryset(self):
108
- queryset = super().get_queryset()
109
- self.form = form = StudentSearchForm(self.request.GET or None)
110
-
111
- if form.is_valid():
112
- key_word = form.cleaned_data.get('key_word')
113
- if key_word:
114
- for word in key_word.split():
115
- queryset = queryset.filter(name__icontains=word)
116
-
117
- school = form.cleaned_data.get('category')
118
- if school and school != '0':
119
- queryset = queryset.filter(school=school)
120
-
121
- student_year = form.cleaned_data.get('student_year')
122
- if student_year and student_year != '0':
123
- queryset = queryset.filter(years=student_year)
124
-
125
- status = form.cleaned_data.get('status')
126
- if status:
127
- queryset = queryset.filter(status=status)
128
- return queryset
129
-
130
- def get_context_data(self, **kwargs):
131
- context = super().get_context_data(**kwargs)
132
- context['search_form'] = self.form
133
- return context
134
74
 
135
75
  class StudentDetailView(LoginRequiredMixin,DetailView):
136
76
  model = Student
@@ -307,9 +247,18 @@
307
247
  - [x] その他
308
248
 
309
249
  ##### 上記の詳細・結果
250
+ VScode上でロギング設定を行った上で、githubを介して、AWSのLightsailにデプロイをし、Lightsailのコンソールにて、プロジェクトディレクトリに移動し、エラーログを確認しようとしたところ、下記のようなエラーメッセージがページに表現されました。
251
+
252
+ > Internal Server Error
253
+ The server encountered an internal error or misconfiguration and was unable to complete your request.
254
+
255
+ Please contact the server administrator at you@example.com to inform them of the time this error occurred, and the actions you performed just before this error.
256
+
257
+ More information about this error may be available in the server error log.
258
+
259
+ ロギングでのエラーログにて、原因追及することに行き詰ってしまい、未だに、原因がわかっていないという状況です。なお、VScodeのローカル環境では、正常に動いております。
260
+
310
- Lightsailのコンソール上でエラーログ確認するなどしたが原因の追究に苦戦している状況です。
261
+ そのため、AWSのLightsailのエラーログ確認から教えていただけと幸いです。
311
- sudo cat /opt/bitnami/apache2/logs/error_log
312
-
313
262
 
314
263
  ### 補足
315
264
  特になし