Внутренняя ошибка сервера 500 -- EC2, django, nginx, uwsgi
Я разрабатываю и развертываю веб-приложение на основе django через EC2 с nginx и uwsgi.
В связи с разработкой Front-side (на основе react), я отправляю несколько http запросов на публичный IPv4 моего сервера. И в первые несколько мгновений, мой запрос нормально отвечает на сервере. Все данные безопасно доставляются на "http://localhost:3000".
Но по какой-то причине после перезагрузки моего экземпляра EC2 мой nginx вернул "500 (Internal Server Error)". Более подробная информация описана ниже.
[log]
- /var/nginx/access.log --> любая информация, кроме внутренней ошибки сервера
3.21.102.102 - - [22/Dec/2022:04:07:08 +0000] "GET /beta/.env HTTP/1.1" 500 32 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246" "-"
3.21.102.102 - - [22/Dec/2022:04:07:08 +0000] "GET /beta/.env.local HTTP/1.1" 500 32 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246" "-"
3.21.102.102 - - [22/Dec/2022:04:07:09 +0000] "GET /beta/.env.production HTTP/1.1" 500 32 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246" "-"
3.21.102.102 - - [22/Dec/2022:04:07:09 +0000] "GET /beta/.env.staging HTTP/1.1" 500 32 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246" "-"
3.21.102.102 - - [22/Dec/2022:04:07:09 +0000] "GET /live/.env HTTP/1.1" 500 32 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246" "-"
- /var/nginx/access.log --> empty
[configure files и django settings.py]
- nginx.configure
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 4096;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;
server {
listen 80;
listen [::]:80;
server_name ec2-13-124-193-1.ap-northeast-2.compute.amazonaws.com;
root /home/ec2-user/cury_engine;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
include uwsgi_params;
uwsgi_pass unix:/home/ec2-user/cury.sock;
}
}
- django settings.py
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False
WSGI_APPLICATION = 'cury_engine.wsgi.application'
CORS_ORIGIN_WHITELIST = [
'http://localhost:3000',
"http://localhost:8000",
'https://learningwhales-25946.web.app',
"http://127.0.0.1:8000",
]
[Что я пробовал после перезагрузки сервера]
sudo systemctl restart nginx
sudo systemctl restart nginx.service
sudo systemctl restart uwsgi
(мой сервер django автоматически запускается этой командой) .
sudo systemctl restart uwsgi.service
-> Я проверяю, что nginx и uwsgi работают безопасно. (с помощью командыsudo systemctl status XXX
)
[Что я пробовал по-другому, чтобы проверить состояние сервера]
- postman запрос --> тот же результат: 500 (Внутренняя ошибка сервера)
- curl запрос внутри терминала экземпляра EC2 --> тот же результат: 500 (Внутренняя ошибка сервера)
я рассчитываю восстановить свой сервер и знаю, как отладить эту ошибку