Назад | Перейти на главную страницу

Время от времени веб-сайт отключается: ERR_TIMED_OUT и не может подключиться по ssh к экземпляру с настройкой nginx и EC2

Я запускаю приложение django с nginx в качестве веб-сервера на экземпляре EC2. Веб-сайт получает приличное количество вызовов API в минуту в зависимости от того, сколько тестовых конвейеров я запускаю. Моя проблема в том, что время ожидания сайта истекает время от времени. Я не могу найти его в браузере, и все мои тесты, конечно же, не работают. Кроме того, я больше не могу войти в свой экземпляр, но мне нужно ждать, пока он не восстановится .... Разве я не могу хотя бы использовать ssh, даже если время ожидания веб-сайта истекло ??

Теперь мне интересно: это скорее ошибка конфигурации nginx или может быть, в моем EC2 недостаточно памяти? Я развертываюсь на микро-экземпляре t2 на EC2, который имеет 1 виртуальный ЦП и только 1 ГБ памяти. Скажем, я получаю 20-30 вызовов API, все они пытаются загрузить файлы размером от 10 до 50 МБ. Нужен ли мне более крупный экземпляр или для EC2 это не проблема?

Или это может быть моя конфигурация nginx? Прямо сейчас я использую это (я совсем не эксперт по nginx, скажите, пожалуйста, есть ли тупые конфиги):

основная конфигурация

user  nginx;
worker_processes auto;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections 1024;
    use epoll;
    multi_accept on;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    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;
    send_timeout       90;
    keepalive_timeout  90;
    fastcgi_read_timeout 120;
    proxy_read_timeout 120;
    fastcgi_buffers 8 128k;
    fastcgi_buffer_size 128k;
    client_body_timeout 120;
    client_body_buffer_size 128K;
    client_header_buffer_size 1k;
    large_client_header_buffers 4 8k;
    client_header_timeout 120;
    client_max_body_size 5G;

    types_hash_max_size 2048;
    server_tokens off;

    gzip  on;
    gzip_static on;
    gzip_min_length 512;


    include /etc/nginx/conf.d/*.conf;
}

И конфигурация сервера

server {

    listen 443 ssl;
    server_name mywebsite.de;
    proxy_max_temp_file_size 0;
    proxy_buffering off;
    charset utf-8;
    ssl_stapling off;
    ssl_stapling_verify off;

    ssl_certificate            /etc/letsencrypt/live/mywebsite.de/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/mywebsite.de/privkey.pem;


    set $my_host $http_host;
    if ($http_host = "mywebsite.de") {
          set $my_host "mywebsite.de";
    }


    location / {
        proxy_pass http://django:5000;
        proxy_set_header Host $my_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_read_timeout 3600; 
  }

}

server {
        listen 80 ;
        server_name mywebsite.de;
        return 301 https://mywebsite.de$request_uri;
}
server {
        listen 80 ;
        server_name www.mywebsite.de;
        return 301 https://mywebsite.de$request_uri;
}
server {
        listen 443 ;
        server_name www.mywebsite.de;
        return 301 https://mywebsite.de$request_uri;
        ssl_stapling off;
        ssl_stapling_verify off;

        ssl_certificate           /etc/letsencrypt/live/mywebsite.de/fullchain.pem;
        ssl_certificate_key       /etc/letsencrypt/live/mywebsite.de/privkey.pem;
}



Это также может быть что-то еще, но что еще может привести к сбою моей машины? Может Редис? Я не уверена. Я ищу возможные причины, по которым это могло произойти, и возможные решения, чтобы сделать это как можно более стабильным.

Очень благодарен сообществу за любую помощь! Заранее спасибо!